제출 #300314

#제출 시각아이디문제언어결과실행 시간메모리
300314easrui카니발 티켓 (IOI20_tickets)C++14
27 / 100
814 ms51492 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;
	sort(all(T));
	for(int i=0; i<n; i++){
		if(i<n/2) sum -= T[i];
		else sum += T[i];
	}
	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...