Submission #1189452

#TimeUsernameProblemLanguageResultExecution timeMemory
1189452prideliqueeeBouquet (EGOI24_bouquet)C++20
24 / 100
30 ms5104 KiB
#include<bits/stdc++.h> using namespace std; #define int long long signed main() { ios_base::sync_with_stdio(0); cin.tie(0); int n; cin>>n; int li[n+1],lj[n+1],ri[n+1]; for(int i=1;i<=n;i++) { int l,r; cin>>l>>r; li[i]=max((int)0,i-l-1); ri[i]=min(n+1,i+r+1); //ตั้งแต่ i+1 -> min(n,i+r)=min(อันเดิม,i) int j=li[i]; while(j!=0&&ri[j]>i) { j=li[j]; } li[i]=j; } int ans[n+1]; memset(ans,0,sizeof ans); for(int i=1;i<=n;i++) { ans[i]=ans[i-1]; int d=li[i]; //cout<<li[i]<<" "<<ri[i]<<" "; ans[i]=max(ans[i],ans[d]+1); //cout<<ans[i]<<endl; } cout<<ans[n]; }
#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...