結果
問題 | No.1708 Quality of Contest |
ユーザー |
![]() |
提出日時 | 2021-10-15 23:28:30 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,873 bytes |
コンパイル時間 | 6,594 ms |
コンパイル使用メモリ | 275,228 KB |
最終ジャッジ日時 | 2025-01-25 01:11:30 |
ジャッジサーバーID (参考情報) |
judge4 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 5 WA * 18 |
ソースコード
#include <bits/stdc++.h>using namespace std;#if __has_include(<atcoder/all>)#include <atcoder/all>using namespace atcoder;using mint = modint1000000007;#endifusing ll = long long;using ld = long double;const ll INF = 1ll<<60;const ld EPS = 1.0/1e9;#define endl "\n"#define rep(i,a,b) for(int i=a;i<b;i++)#define rrep(i,a,b) for(int i=a;i>=b;i--)#define fore(i,a) for(auto &i:a)#define all(x) (x).begin(),(x).end()#define del(x) sort(all(x)); x.erase(unique(all(x)),x.end());int main(){ios_base::sync_with_stdio(0);cin.tie(0);ll n,m,x; cin >> n >> m >> x;vector<priority_queue<ll>>que(m);rep(i,0,n){ll a,b; cin >> a >> b; b--;que[b].push(a);}queue<pair<ll,ll>>use;priority_queue<tuple<ll,ll,ll>>w;map<ll,ll>f;rep(i,0,m){if(!que[i].empty() && que[i].top()>x){w.push({que[i].top()+x,i,1});que[i].pop();f[i]=true;}}rep(i,0,m){while(!que[i].empty()&& que[i].top()>x){w.push({que[i].top(),i,0});que[i].pop();f[i]=true;}}priority_queue<tuple<ll,ll,ll>>h;rep(i,0,m){if(!f[i] && !que[i].empty()){h.push({que[i].top()+x,i,1});que[i].pop();}}rep(i,0,m){while(!que[i].empty()){h.push({que[i].top(),i,0});que[i].pop();}}while(!w.empty()){ll p,q,r; tie(p,q,r)=w.top();if(r) p-=x;use.push({p,q});w.pop();}while(!h.empty()){ll p,q,r; tie(p,q,r)=h.top();if(r) p-=x;use.push({p,q});h.pop();}vector<ll>sum(n+1);vector<ll>ind(n+1);set<ll>st;rep(i,0,n){sum[i+1]+=sum[i];sum[i+1]+=use.front().first;st.insert(use.front().second);ind[i+1]=st.size();use.pop();}ll ans=0;ll k; cin >> k;rep(i,0,k){ll p=0;ll c; cin >> c;p+=sum[c];p+=ind[c]*x;ans+=p;}cout << ans << endl;}