結果
問題 | No.1708 Quality of Contest |
ユーザー |
|
提出日時 | 2021-10-15 23:25:25 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 116 ms / 2,000 ms |
コード長 | 1,293 bytes |
コンパイル時間 | 1,773 ms |
コンパイル使用メモリ | 177,116 KB |
実行使用メモリ | 17,440 KB |
最終ジャッジ日時 | 2024-09-17 18:20:50 |
合計ジャッジ時間 | 4,571 ms |
ジャッジサーバーID (参考情報) |
judge6 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 23 |
ソースコード
#include <bits/stdc++.h>#include <cstdlib>#include <cmath>#include <algorithm>using namespace std;using ll = long long;using P = pair<ll,ll>;using Graph= vector<vector<ll>>;struct edge{ll to ; ll cost ;} ;using graph =vector<vector<edge>> ;#define rep(i,n) for (ll i=0; i < (n); ++i)#define rep2(i,n,m) for(ll i=n;i<=m;i++)#define rep3(i,n,m) for(ll i=n;i>=m;i--)#define pb push_back#define eb emplace_back#define ppb pop_back#define mpa make_pair#define fi first#define se second#define set20 cout<<fixed<<setprecision(20) ;const ll INF=1e18 ;inline void chmax(ll& a,ll b){a=max(a,b);}inline void chmin(ll& a,ll b){a=min(a,b);}double pi=acos(-1) ;ll gcd(ll a, ll b) { return b?gcd(b,a%b):a;}ll lcm(ll a, ll b) { return a/gcd(a,b)*b;}int main(){ios::sync_with_stdio(false) ;cin.tie(nullptr) ;ll n,m,x ; cin>>n>>m>>x ;Graph g(m) ;rep(i,n){ll z,y ; cin>>z>>y ;g[y-1].pb(z) ;}vector<ll> all ;rep(i,m){if(!g[i].size()) continue ;sort(g[i].rbegin(),g[i].rend()) ;g[i][0]+=x ;for(auto u:g[i]) all.pb(u) ;}sort(all.rbegin(),all.rend()) ;vector<ll> rui(n+1) ;rui[0]=0 ;rep(i,n) rui[i+1]=rui[i]+all[i] ;ll ans=0ll ;ll k ; cin>>k ;rep(i,k){ll t ; cin>>t ;ans+=rui[t] ;}cout<<ans<<endl ;return 0 ;}