제출 #1314558

#제출 시각아이디문제언어결과실행 시간메모리
1314558vedchoudharyJust Long Neckties (JOI20_ho_t1)C++20
0 / 100
0 ms332 KiB
#include <bits/stdc++.h> #pragma GCC optimize("O3") using namespace std; using ll = long long; #define int ll #define ff first #define ss second struct Emp { int v,cl,ch,cli,chi,clc,chc; Emp(){} Emp(int _v, int _cl, int _ch) : v(_v), cl(_cl), ch(_ch) {}; Emp(int _v, pair<int,int> _cl, pair<int,int> _ch) { v = _v; cl = _cl.ff; cli = _cl.ss; ch = _ch.ff; chi = _ch.ss; clc = max(0LL,cl-v); chc = max(0LL,ch-v); }; }; signed main() { int n; cin >> n; vector<pair<int,int>> a(n+1); for(int i = 0; i < n+1; i++) cin >> a[i].first; vector<int> b(n); for(int i = 0; i < n; i++) cin >> b[i]; for(int i = 0; i < n+1; i++) a[i].second = i; sort(a.begin(),a.end()); sort(b.begin(),b.end()); vector<Emp> e(n); for(int i = 0; i < n; i++) { e[i] = Emp(b[i],a[i],a[i+1]); } map<int,int> dc; for(int i = 0; i < n; i++) { dc[e[i].chc]++; } for(int i = 0; i < n; i++) { cout << dc.rbegin()->first << " "; dc[e[i].chc]--; if(dc[e[i].chc]==0) dc.erase(e[i].chc); dc[e[i].clc]++; } cout << dc.rbegin()->first << " "; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...