結果
問題 | No.904 サメトロ |
ユーザー | ok |
提出日時 | 2019-10-11 23:17:42 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 33 ms / 1,000 ms |
コード長 | 1,022 bytes |
コンパイル時間 | 772 ms |
コンパイル使用メモリ | 83,064 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-25 09:37:11 |
合計ジャッジ時間 | 2,730 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 33 |
ソースコード
#include<iostream> #include<string> #include<iomanip> #include<cmath> #include<vector> #include<algorithm> using namespace std; #define int long long #define endl "\n" const long long INF = (long long)1e18; const long long MOD = 1'000'000'007; string yn(bool f){return f?"Yes":"No";} string YN(bool f){return f?"YES":"NO";} #define a first #define b second signed main(){ cin.tie(nullptr); ios::sync_with_stdio(false); cout<<fixed<<setprecision(10); int N; int sa = 0, sb = 0; vector<pair<int,int>> x; int con = 0; cin>>N; x.resize(N); for(int i = 1; i < N; i++){ // int a, b; cin>>x[i].a>>x[i].b; sa += x[i].a; sb += x[i].b; } for(int i = 0; i <= 10000000; i++){ int y = i + sa - sb; bool flag = true; int xa = sa + i, xb = sb + y; if(y < 0) continue; x[0].a = i; x[0].b = y; for(int j = 0; j < N; j++){ if(x[j].a > xb - x[j].b || x[j].b > xa - x[j].a) { flag = false; break; } } if(flag) con++; } cout<<con<<endl; return 0; }