Submission #1285973

#TimeUsernameProblemLanguageResultExecution timeMemory
1285973nikakhSouvenirs (IOI25_souvenirs)C++20
21 / 100
13 ms400 KiB
#include "souvenirs.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

void buy_souvenirs(int n, ll p0){
	pair<vector<int>, ll> ret;
	if(n == 2){
		transaction(p0 - 1);
		return;
	}
	if(p0 == n){
		for(int i = 1; i < n; i++){
			for(int j = 0; j < i; j++){
				transaction(n - i);
			}
		}
		return;
	}
	if(n == 3){
		int x = p0 - 1;
		ret = transaction(x);
		vector<int> f = ret.first;
		ll s = ret.second;
		if(f.size() == 2) transaction((x - s) / 2);
		else{
			transaction(x - s - 1);
			transaction(x - s - 1);
		}
		return;
	}
	ll x = p0 - 1, sub = 0;
	for(int i = 1; i < n; i++){
		int k = 0;
		if(i == n - 1) k = sub;
		for(int j = k; j < i; j++){
			ret = transaction(x);
			vector<int> f = ret.first;
			ll s = ret.second;
			if(f.size() == 2){
				x--;
				sub++;
			} else if(s == 1) x--;
		}
		x--;
	}
}
#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...