Submission #300311

#TimeUsernameProblemLanguageResultExecution timeMemory
300311easruiCarnival Tickets (IOI20_tickets)C++14
0 / 100
1 ms384 KiB
#include "tickets.h"
#include <bits/stdc++.h>
#define va first
#define vb second
#define all(x) (x).begin(), (x).end()
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<pii,int> ppi;
typedef pair<int,pii> pip;

const int MN = 1505;
const int MOD = 1e9+7;
const int INF = 1e9;

vector<int> T;
int a[MN],s[MN];

bool cmp(int x, int y)
{
	return s[x]<s[y];
}

ll find_maximum(int k, vector<vector<int>> x) {
	int n = x.size();
	int m = x[0].size();
	vector<vector<int>> ans;

	for(int i=0; i<n; i++) a[i] = i;
	for(int i=0; i<n; i++) s[i] = x[i][m-1]-x[i][0];
	sort(a,a+n,cmp);

	vector<int> row(m,-1);
	for(int i=0; i<n; i++){
		ans.push_back(row);
	}

	for(int i=0; i<n; i++){
		if(i<n/2){
			ans[a[i]][0] = 0;
			T.push_back(x[a[i]][0]);
		}
		else{
			ans[a[i]][m-1] = 0;
			T.push_back(x[a[i]][m-1]);
		}
	}

	ll sum = 0;
	for(int i=0; i<n; i++){
		sort(all(T));
		for(int j:T) sum += abs(T[n/2]-j);
	}

	allocate_tickets(ans);
	return sum;
}
#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...