結果
問題 |
No.818 Dinner time
|
ユーザー |
|
提出日時 | 2019-04-19 23:01:40 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 702 bytes |
コンパイル時間 | 2,805 ms |
コンパイル使用メモリ | 166,380 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-23 02:51:50 |
合計ジャッジ時間 | 3,373 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 3 WA * 26 |
ソースコード
#include "bits/stdc++.h" using namespace std; typedef long long ll; #define INF (1<<30) #define INFLL (1ll<<60) typedef pair<int, int> P; typedef pair<int, P> E; #define MOD (1000000007ll) #define l_ength size void mul_mod(ll& a, ll b){ a *= b; a %= MOD; } void add_mod(ll& a, ll b){ a += b; a %= MOD; } ll a[100100],b[100100],s[100100]; int main(void){ int n,i; ll m,ans,p=0ll,q=0ll,x,y; cin >> n >> m; for(i=0; i<n; ++i){ cin >> a[i] >> b[i]; } for(i=(n-1); i>=0; --i){ if(p==0){ q = max(0ll,q); } if(p+a[i]<0ll){ q = max(p*m+q+b[i],p+q+a[i]); p = 0ll; }else{ p += a[i]; q += max(b[i]-a[i],0ll); } } ans = max(p+q,p*m+q); cout << ans << endl; return 0; }