結果
問題 | No.258 回転寿司(2) |
ユーザー |
![]() |
提出日時 | 2015-10-13 01:47:35 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 1,002 bytes |
コンパイル時間 | 665 ms |
コンパイル使用メモリ | 69,640 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-06 18:54:20 |
合計ジャッジ時間 | 3,970 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 67 |
ソースコード
#include<iostream>#include<vector>#include<set>#include<map>#include<list>#include<stack>#include<queue>#include<bitset>#include<array>#include<algorithm>#include<cstdio>#include<string>#include<cstdlib>#define D long long#define U unsignedusing namespace std;D n, m,a, b, d, e, x, y, z;D i, j, k;bool f;char c;D ma[2], keiro[2][1000],buf[1000],*p1[2];int main() {D t,u;cin >> a;p1[0] = keiro[0];p1[1] = keiro[1];for (i = 0; i < a; i++) {cin >> t;u = ma[0];copy(p1[0], p1[0] + i + 1, buf);if (ma[1]>ma[0]) {ma[0] = ma[1];copy(p1[1], p1[1] + i+1, p1[0]);}ma[1] = u + t;copy(buf, buf + i + 1, p1[1]);p1[1][i] = 1;}cout << max(ma[0], ma[1]) << endl;if (ma[1] > ma[0]) {for (i = 0; i < a; i++) {if (p1[1][i]) {if (f)cout << ' ';cout << i + 1;f = true;}}}else {for (i = 0; i < a; i++) {if (p1[0][i]) {if (f)cout << ' ';cout << i + 1;f = true;}}}cout << endl;}