Submission #1283500

#TimeUsernameProblemLanguageResultExecution timeMemory
1283500Jawad_Akbar_JJCarnival Tickets (IOI20_tickets)C++20
27 / 100
259 ms52628 KiB
#include <iostream>
#include <vector>
#include <algorithm>
#include "tickets.h"

using namespace std;
int ind[1505];

long long find_maximum(int k, vector<vector<int>> vec){
	long long n = vec.size(), m = vec[0].size(), Ans = 0;
	vector<vector<int>> alc(n, vector<int> (m, -1));

	for (int it=0;it<k;it++){
		long long ans = 0;
		vector<pair<int,int>> vc;
		for (int i=0;i<n;i++){
			ans += vec[i].back();
			vc.push_back({-vec[i].back() - vec[i][ind[i]], i});
		}
		sort(begin(vc), end(vc));

		for (int i=n-1;i>=0;i--){
			auto [vl, Id] = vc[i];
			if (i < n / 2){
				alc[Id][vec[Id].size() - 1] = it;
				vec[Id].pop_back();
			}
			else{
				alc[Id][ind[Id]++] = it;
				ans += vl;
			}
		}

		Ans += ans;
	}
	allocate_tickets(alc);
	return Ans;
}
#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...