結果
| 問題 |
No.1935 Water Simulation
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2022-05-13 21:46:48 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,499 bytes |
| コンパイル時間 | 750 ms |
| コンパイル使用メモリ | 71,220 KB |
| 実行使用メモリ | 11,840 KB |
| 最終ジャッジ日時 | 2024-07-22 01:25:35 |
| 合計ジャッジ時間 | 1,712 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 25 WA * 4 |
ソースコード
#include<iostream>
#include<vector>
#include<algorithm>
#define ep emplace
#define eb emplace_back
#define fi first
#define se second
#define all(x) (x).begin(),(x).end()
using namespace std;
typedef long long ll;
typedef pair<int,int>pi;
typedef pair<ll,ll>pl;
const int inf=1e9+7;
const ll INF=1e18;
int dp[101][101][101];
int va[1010101];
int vb[1010101];
int vc[1010101];
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int a,b,c,d;
ll n;
cin>>a>>b>>c>>d>>n;
for(int i=0;i<=a;i++)
for(int j=0;j<=b;j++)
for(int k=0;k<=c;k++)
dp[i][j][k]=-1;
int ca=a,cb=0,cc=0,cd=0;
dp[ca][cb][cc]=0;
va[0]=ca;
int ip=-1,cyc=0;
for(int i=1;i<=n;i++)
{
if(i%4==0)
{
int v=min(cd,a-ca);
cd-=v;
ca+=v;
}
else if(i%4==1)
{
int v=min(ca,b-cb);
ca-=v;
cb+=v;
}
else if(i%4==2)
{
int v=min(cb,c-cc);
cb-=v;
cc+=v;
}
else
{
int v=min(cc,d-cd);
cc-=v;
cd+=v;
}
if(dp[ca][cb][cc]!=-1)
{
ip=dp[ca][cb][cc];
cyc=i-ip;
break;
}
dp[ca][cb][cc]=i;
va[i]=ca,vb[i]=cb,vc[i]=cc;
}
if(ip!=-1)
n=(n-ip)%cyc+ip;
cout<<va[n]<<' '<<vb[n]<<' '<<vc[n]<<' '<<a-va[n]-vb[n]-vc[n]<<endl;
return 0;
}