Submission #1301960

#TimeUsernameProblemLanguageResultExecution timeMemory
1301960johniaconoBitaro’s Party (JOI18_bitaro)C++20
0 / 100
1 ms568 KiB
#include <iostream> #include <vector> #include <string> #include <array> using namespace std; #define Int long long vector< vector<Int> > L,R; int main(){ Int n,m,q; cin>>n>>m>>q; for (Int i=0;i<n+1;i++){L.push_back({});R.push_back({});} for (Int i=0;i<m;i++) { Int l,r; cin>>l>>r; L[l].push_back(r); R[r].push_back(l); } for (Int qq=0;qq<q;qq++){ Int t,y; vector<Int> Y; cin>>t>>y; for (int i=0;i<y;i++){ Int yy; cin>>yy; Y.push_back(yy); } vector<Int> best(n+1,0); for (int l=t;l>0;l--) for (auto r:L[l]) if (r<=t && best[r]+1>best[l]) best[l]=best[r]+1; if (false) for (int i=1;i<=n;i++) cout<<best[i]<<" "; if (false) cout<<endl; for (auto yy:Y) {best[yy]=0;} if (false) for (int i=1;i<=n;i++) cout<<best[i]<<" "; if (false) cout<<endl; Int ans=-1; for (int i=1;i<=t;i++) if (best[i]>ans) ans=best[i]; cout<<ans<<endl; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...