Submission #1242470

#TimeUsernameProblemLanguageResultExecution timeMemory
1242470tkm_algorithmsTeams (IOI15_teams)C++20
0 / 100
4094 ms15912 KiB
/**
*    In the name of Allah
*    We are nothing and you're everything
*    Ya Muhammad!
**/
#include <bits/stdc++.h>
#include "teams.h"
 
using namespace std;
using ll = long long;
using ull = uint64_t;
 
#define all(x) begin(x), end(x)
#define sz(x) (int)(x).size()
//#define int long long

vector<pair<int, int>> a;

void init(int n, int A[], int B[]) {
	a.clear();
	for (int i = 0; i < n; ++i)a.push_back({A[i], B[i]});
}

int can(int m, int K[]) {
	vector<pair<int, int>> onki = a;
	vector<int> k(m);
	for (int i = 0; i < m; ++i)k[i] = K[i];
	sort(all(k));
	//vector<int>::iterator ip;
	//ip = unique(all(k));
	//k.resize(distance(k.begin(), ip));
	
	for (auto i: k) {
		vector<pair<int, int>> c;
		for (auto j: a) {
			if (j.first <= i && j.second >= i)c.push_back({j.second, j.first});
		}
		if (sz(c) < i)return 0;
		sort(all(c));
		for (int j = 0; j < i; ++j) {
			a.erase(find(all(a), make_pair(c[j].second, c[j].first)));
		}
	}
	a = onki;
	return 1;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...