結果

問題 No.5018 Let's Make a Best-seller Book
ユーザー 👑 p-adic
提出日時 2023-10-01 17:21:05
言語 C++17(gcc12)
(gcc 12.3.0 + boost 1.87.0)
結果
TLE  
実行時間 -
コード長 1,157 bytes
コンパイル時間 2,174 ms
コンパイル使用メモリ 198,900 KB
実行使用メモリ 4,380 KB
スコア 0
最終ジャッジ日時 2023-10-01 17:21:12
合計ジャッジ時間 5,878 ms
ジャッジサーバーID
(参考情報)
judge15 / judge11
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other TLE * 1 -- * 99
権限があれば一括ダウンロードができます

ソースコード

diff #

// TLEの原因探し中...
#include <bits/stdc++.h>
using namespace std;
#define SET_A( A , N ) FOR( VARIABLE_FOR_CIN_A , 0 , N ){ cin >> A[VARIABLE_FOR_CIN_A]; }
#define FOR( VAR , INITIAL , FINAL_PLUS_ONE ) for( int VAR = INITIAL ; VAR < FINAL_PLUS_ONE ; VAR ++ )
#define REPEAT( HOW_MANY_TIMES ) FOR( VARIABLE_FOR_REPEAT_ ## HOW_MANY_TIMES , 0 , HOW_MANY_TIMES )
#define COUT_A( A , N ) FOR( VARIABLE_FOR_OUTPUT_ARRAY , 0 , N ){ cout << A[VARIABLE_FOR_OUTPUT_ARRAY] << (VARIABLE_FOR_OUTPUT_ARRAY==N-1?"":" "); } cout << endl

int main()
{
  int T , N , M;
  cin >> T >> N >> M;
  M /= 500;
  int R[N] = {};
  int P[N] = {};
  REPEAT( T ){
    int temp = 0;
    FOR( i , 0 , N ){
      temp = max( temp , R[i] );
    }
    int L[N] = {};
    FOR( i , 0 , N ){
      if( temp - R[i] <= M ){
	M -= L[i] = temp - R[i];
      }
    }
    if( M > 0 ){
      temp = 0;
      FOR( i , 0 , N ){
	temp += P[i] = 1 << P[i];
      }
      temp = M / temp;
      FOR( i , 0 , N ){
	L[i] += temp * P[i];
      }
    }
    cout << 1 << " ";
    COUT_A( L , N );
    cin >> M;
    M /= 500;
    SET_A( P , N );
    SET_A( P , N );
    SET_A( R , N );
  }
  return 0;
}
0