結果
問題 | No.1935 Water Simulation |
ユーザー | suzushi1i |
提出日時 | 2022-05-13 22:31:02 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 826 bytes |
コンパイル時間 | 648 ms |
コンパイル使用メモリ | 65,892 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-07-22 04:35:40 |
合計ジャッジ時間 | 1,434 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 29 |
ソースコード
#include<iostream> using namespace std; int main() { int v[5]; cin >> v[1] >> v[2] >> v[3] >> v[4]; long long N; cin >> N; int a[5] = { 0 }; a[1] = v[1]; auto pour = [&](int x, int y) { if (a[x] < v[y] - a[y])a[y] += a[x], a[x] = 0; else a[x] -= v[y] - a[y], a[y] = v[y]; }; int s[5] = { 0 }; int i; for (i = 0; i < N; i++) { if (i % 4 == 0) { if (s[1] == a[1] && s[2] == a[2] && s[3] == a[3] && s[4] == a[4])break; s[1] = a[1], s[2] = a[2], s[3] = a[3], s[4] = a[4]; } int x = i % 4 + 1, y = (i + 1) % 4 + 1; pour(x, y); //cout << i + 1 << ' ' << a[1] << ' ' << a[2] << ' ' << a[3] << ' ' << a[4] << endl; } for (int j = 0; j < (N - i) % 4; j++) { int x = j % 4 + 1, y = (j + 1) % 4 + 1; pour(x, y); } cout << a[1] << ' ' << a[2] << ' ' << a[3] << ' ' << a[4] << endl; return 0; }