Submission #1071273

#TimeUsernameProblemLanguageResultExecution timeMemory
1071273ttamxArranging Tickets (JOI17_arranging_tickets)C++17
0 / 100
0 ms348 KiB
#include<bits/stdc++.h> using namespace std; using ll = long long; const int N=200'005; const int M=100'005; int n,m; ll a[N]; bool check(int x){ for(int v=0;v<=a[n];v++){ bool ok=true; int used=v; for(int i=1;i<n;i++){ int rem=x-used; if(rem<0){ ok=false; break; } used=a[i]-rem; } if(ok&&used+a[n]-v<=x){ return true; } } return false; } int main(){ cin.tie(nullptr)->sync_with_stdio(false); cin >> n >> m; for(int i=0;i<m;i++){ int u,v,w; cin >> u >> v >> w; a[u]+=w; a[v]-=w; if(v<u)a[1]++; } for(int i=2;i<=n;i++)a[i]+=a[i-1]; ll l=0,r=*max_element(a+1,a+n+1); while(l<r){ ll mid=(l+r)/2; if(check(mid))r=mid; else l=mid+1; } cout << l; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...