Submission #1336306

#TimeUsernameProblemLanguageResultExecution timeMemory
1336306status_codingSouvenirs (IOI25_souvenirs)C++20
21 / 100
12 ms400 KiB
#include "souvenirs.h"
#include <utility>
#include <vector>

using namespace std;

void buy_souvenirs(int N, long long P0) 
{
	long long last = P0;
	vector<int> q = vector<int>(N, 0);

	for(int i=1; i<N; i++)
	{
		auto ans = transaction(last-1);
		
		for(int it : ans.first)
			q[it]++;

		long long val;

		if(ans.first.size() == 1 && ans.second == 0)
			val = last-1;
		else
			val = last-2;

		while(q[i] < i)
		{
			transaction(val);
			q[i]++;
		}

		last = val;
	}
	return;
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...