Submission #1221891

#TimeUsernameProblemLanguageResultExecution timeMemory
1221891ErJMonster Game (JOI21_monster)C++20
10 / 100
59 ms408 KiB
#include "monster.h"
#include <bits/stdc++.h>

#define ll long long
#define vi vector<ll>
#define vvi vector<vi>
#define pp pair<ll, ll>
#define vp vector<pp>
#define inf 2000000000


using namespace std;

std::vector<int> Solve(int n) {
	std::vector<int> T(n);
	vi win(n);
	for(int i = 0; i < n; i++){
		for(int j = i + 1; j < n; j++){
			if(Query(i, j)){
				win[i]++;
			}else{
				win[j]++;
			}
		}
	}
	ll one1 = -1;
	ll last = -1;
	for(int i = 0; i < n; i++){
		if(win[i] == 1){
			if(one1 == -1){
				one1 = i;
			}else{
				if(Query(one1, i)){
					T[one1] = 0;
					T[i] = 1;
				}else{
					T[one1] = 1;
					T[i] = 0;
				}

			}
		} else if(win[i] == n - 2){
			if(last == -1){
				last = i;
			}else{
				if(Query(last, i)){
					T[last] = n - 2;
					T[i] = n - 1;
				}else{
					T[last] = n - 1;
					T[i] = n - 2;
				}
			}
		}else{
			T[i] = win[i];
		}
	}

	return T;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...