제출 #1170448

#제출 시각아이디문제언어결과실행 시간메모리
1170448samiaBouquet (EGOI24_bouquet)C++20
28 / 100
3096 ms2916 KiB
#include <bits/stdc++.h> using namespace std; vector<int>v; vector<int>slm; int f[200005]; int dp(int n){ if(f[n]==-1){ int x=0; for(int so=0;so<n-v[n];so++){ if(slm[so]+so<n){ if(f[so]==-1){dp(so);} x=max(x,f[so]);} } f[n]=x+1; } // cout<<f[n]<<" "<<n<<endl; return f[n]; } int main() { int n; cin>>n; int x,y; int ans=n; while(n--){ cin>>x>>y; v.push_back(x); slm.push_back(y); } for(int so=0;so<=ans;so++){ f[so]=-1; } f[0]=1; int an=0; for(int so=0;so<ans;so++){ if(f[so]==-1){dp(so);} an=max(an,f[so]); } cout<<an<<endl; }
#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...