제출 #1225358

#제출 시각아이디문제언어결과실행 시간메모리
1225358Nonoze카니발 티켓 (IOI20_tickets)C++20
11 / 100
1 ms840 KiB
#include "tickets.h" #include <bits/stdc++.h> #define fi first #define se second #define sz(x) (int)x.size() #define cmin(a, b) a=min(a, b) #define cmax(a, b) a=max(a, b) #define all(x) (x).begin(),(x).end() #define rall(x) (x).rbegin(),(x).rend() #define pb push_back #define int long long using namespace std; int n, m, k; vector<vector<int>> a; int find_maximum(signed K, vector<vector<signed>> x) { n=sz(x), m=sz(x[0]), k=K; a.resize(n, vector<int>(m)); for (int i=0; i<n; i++) for (int j=0; j<m; j++) a[i][j]=x[i][j]; int res=0; vector<pair<vector<int>, int>> empls; for (int i=0; i<n; i++) empls.pb({a[i], i}); sort(all(empls)); vector<vector<signed>> ans(n, vector<signed>(m, 0)); for (int i=0; i<n; i++) iota(all(ans[i]), 0); for (int i=n/2; i<n; i++) reverse(all(ans[empls[i].se])); for (int j=0; j<m; j++) { vector<int> b; for (int i=0; i<n/2; i++) b.pb(a[empls[i].se][j]); for (int i=n/2; i<n; i++) b.pb(a[empls[i].se][m-j-1]); sort(all(b)); for (int i=0; i<n/2; i++) res+=b[n-i-1]-b[i]; } allocate_tickets(ans); return res; }
#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...