結果
問題 |
No.607 開通777年記念
|
ユーザー |
|
提出日時 | 2020-11-16 19:44:10 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 217 ms / 2,000 ms |
コード長 | 764 bytes |
コンパイル時間 | 1,593 ms |
コンパイル使用メモリ | 169,592 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-07-23 01:41:55 |
合計ジャッジ時間 | 2,895 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 10 |
ソースコード
#include <bits/stdc++.h> using namespace std; int32_t main() { int n,m; cin >> n >> m; bool ans=false; vector<int> a(n); while(m--){ vector<int> cumsum(n+1); for(int i=0;i<n;i++){ int ai; cin >> ai; a[i]+=ai; cumsum[i+1]=cumsum[i]+a[i]; } bool b=false; for(int i=0;i<cumsum.size();i++){ int d=cumsum[i]-777; if(d==0){b=true;break;} if(d<0) continue; int idx=lower_bound(cumsum.begin(),cumsum.begin()+i,d)-cumsum.begin(); if(idx==i) continue; if(cumsum[idx]==d){b=true;break;} } if(b){ans=true;break;} } cout << (ans ? "YES" : "NO") << endl; return 0; }