結果
問題 | No.2622 Dam |
ユーザー | twooimp2 |
提出日時 | 2024-02-09 21:51:01 |
言語 | C++17(gcc12) (gcc 12.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 4 ms / 2,000 ms |
コード長 | 949 bytes |
コンパイル時間 | 5,735 ms |
コンパイル使用メモリ | 299,908 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-09-28 15:06:12 |
合計ジャッジ時間 | 5,658 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 5 |
ソースコード
#pragma GCC target("avx2") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #include<bits/stdc++.h> #include<atcoder/all> using namespace std; using namespace atcoder; using ll=long long; void IO(){ ios::sync_with_stdio(false); std::cin.tie(nullptr); } void ans(ll status){ if(status==0){ cout<<"Safe"<<endl; }else if(status==1){ cout<<"Overflow"<<endl; }else{ cout<<"Zero"<<endl; } } int main(){ IO(); ll t; cin>>t; while(t--){ ll v,x,fo,fi,q,r; cin>>v>>x>>fo>>fi>>q>>r; ll status=0;//0 normal,1 collapse,2 empty. ll now=x; now+=r*(fi-fo); if(now>v){ status=1; }else{ now-=max((ll)0,(q-r))*fo; if(now<=0){ status=2; }else{ ll diff=r*(fi-fo)-max((ll)0,(q-r))*fo; if(diff==0){ status=0; }else if(diff>0){ status=1; }else{ status=2; } } } ans(status); } }