제출 #835961

#제출 시각아이디문제언어결과실행 시간메모리
835961maomao90카니발 티켓 (IOI20_tickets)C++17
16 / 100
403 ms81916 KiB
// I can do all things through Christ who strengthens me // Philippians 4:13 #include "tickets.h" #include <bits/stdc++.h> using namespace std; #define REP(i, j, k) for (int i = j; i < (k); i++) #define RREP(i, j, k) for (int i = j; i >= (k); i--) template <class T> inline bool mnto(T &a, const T b) {return a > b ? a = b, 1 : 0;} template <class T> inline bool mxto(T &a, const T b) {return a < b ? a = b, 1 : 0;} typedef long long ll; typedef long double ld; #define FI first #define SE second typedef pair<int, int> ii; typedef pair<ll, ll> pll; #define ALL(x) x.begin(), x.end() #define SZ(x) (int) x.size() #define pb push_back typedef vector<int> vi; typedef vector<ll> vll; typedef vector<ii> vii; typedef tuple<int, int, int> iii; #ifndef DEBUG #define cerr if (0) cerr #endif const int INF = 1000000005; const ll LINF = 1000000000000000005; const int MAXN = 1505; int n, m, k; vector<vi> x, s; ii diff[MAXN]; ll ans; ll find_maximum(int _k, vector<vi> _x) { k = _k; x = _x; n = SZ(x); m = SZ(x[0]); s = vector<vi>(n, vi(m, -1)); REP (i, 0, n) { ans += x[i][m - 1]; diff[i] = {x[i][m - 1] + x[i][0], i}; s[i][m - 1] = 0; } sort(diff, diff + n); REP (i, 0, n / 2) { ans -= diff[i].FI; s[diff[i].SE][0] = 0; s[diff[i].SE][m - 1] = -1; } allocate_tickets(s); 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...