Submission #1301958

#TimeUsernameProblemLanguageResultExecution timeMemory
1301958johniaconoBitaro’s Party (JOI18_bitaro)C++20
0 / 100
0 ms332 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;
		for (int i=1;i<=n;i++)
			cout<<best[i]<<" ";
		cout<<endl;
		for (auto yy:Y) {best[yy]=0;}
		for (int i=1;i<=n;i++)
			cout<<best[i]<<" ";
		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...