提出 #59212070
ソースコード 拡げる
#include <bits/stdc++.h>
using namespace std;
using ll=long long;
#define rng(i,a,b) for(int i=int(a);i<int(b);i++)
#define rep(i,b) rng(i,0,b)
#define gnr(i,a,b) for(int i=int(b)-1;i>=int(a);i--)
#define per(i,b) gnr(i,0,b)
#define pb push_back
#define eb emplace_back
#define a first
#define b second
#define bg begin()
#define ed end()
#define all(x) x.bg,x.ed
#define si(x) int(x.size())
#ifdef LOCAL
#define dmp(x) cerr<<__LINE__<<" "<<#x<<" "<<x<<endl
#else
#define dmp(x) void(0)
#endif
template<class t,class u> bool chmax(t&a,u b){if(a<b){a=b;return true;}else return false;}
template<class t,class u> bool chmin(t&a,u b){if(b<a){a=b;return true;}else return false;}
template<class t> using vc=vector<t>;
template<class t> using vvc=vc<vc<t>>;
using P=pair<int,int>;
using vi=vc<int>;
void solve(){
int n,m;
cin>>n>>m;
vc<P> vec(n);
for(int i=0;i<n;i++) cin>>vec[i].a>>vec[i].b;
if(n<m){
cout<<0<<endl;
return;
}
sort(vec.begin(),vec.end());
priority_queue <int> que;
ll sum=0;
ll ret=0;
ll sd=0;
for(int i=0;i<n;i++) sd+=max(0,vec[i].a-vec[i].b);
if(m==1) ret=sd;
for(int i=n-1;i>=0;i--){
sd-=max(0,vec[i].a-vec[i].b);
sum+=vec[i].b;
que.push(vec[i].b);
if(que.size()>=m){
sum-=que.top();
que.pop();
}
if(que.size()==m-1){
ret=max(ret,sd-sum+(m-1));
}
}
cout<<ret<<endl;
}
int main(){
cin.tie(0);
ios::sync_with_stdio(0);
cout<<fixed<<setprecision(20);
int T;
cin>>T;
while(T--) solve();
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | C - Ball and Box |
| ユーザ | yutaka1999 |
| 言語 | C++ 23 (Clang 16.0.6) |
| 得点 | 900 |
| コード長 | 1525 Byte |
| 結果 | AC |
| 実行時間 | 354 ms |
| メモリ | 5792 KiB |
コンパイルエラー
./Main.cpp:53:16: warning: comparison of integers of different signs: 'size_type' (aka 'unsigned long') and 'int' [-Wsign-compare]
if(que.size()>=m){
~~~~~~~~~~^ ~
./Main.cpp:57:16: warning: comparison of integers of different signs: 'size_type' (aka 'unsigned long') and 'int' [-Wsign-compare]
if(que.size()==m-1){
~~~~~~~~~~^ ~~~
2 warnings generated.
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 900 / 900 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | example.txt |
| All | example.txt, largeM.txt, large_186.txt, large_186_2.txt, large_186_3.txt, large_186_4.txt, large_186_5.txt, large_2.txt, large_27.txt, large_27_2.txt, large_27_3.txt, large_27_4.txt, large_27_5.txt, large_2_2.txt, large_2_3.txt, large_2_4.txt, large_2_5.txt, large_30000.txt, large_30000_2.txt, large_30000_3.txt, large_30000_4.txt, large_30000_5.txt, max.txt, multi_1.txt, multi_10.txt, multi_100.txt, multi_1000.txt, multi_10000.txt, multi_2.txt, multi_30.txt, multi_3000.txt, multi_400.txt, multi_5.txt, various_10.txt, various_100.txt, various_1000.txt, various_10000.txt, various_2.txt, various_3.txt, various_30.txt, various_3000.txt, various_400.txt, various_5.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| example.txt | AC | 1 ms | 3384 KiB |
| largeM.txt | AC | 348 ms | 3332 KiB |
| large_186.txt | AC | 55 ms | 5412 KiB |
| large_186_2.txt | AC | 54 ms | 5356 KiB |
| large_186_3.txt | AC | 59 ms | 5384 KiB |
| large_186_4.txt | AC | 51 ms | 5380 KiB |
| large_186_5.txt | AC | 53 ms | 5316 KiB |
| large_2.txt | AC | 55 ms | 5448 KiB |
| large_27.txt | AC | 54 ms | 5448 KiB |
| large_27_2.txt | AC | 48 ms | 5356 KiB |
| large_27_3.txt | AC | 52 ms | 5404 KiB |
| large_27_4.txt | AC | 57 ms | 5456 KiB |
| large_27_5.txt | AC | 56 ms | 5392 KiB |
| large_2_2.txt | AC | 57 ms | 5364 KiB |
| large_2_3.txt | AC | 37 ms | 5404 KiB |
| large_2_4.txt | AC | 57 ms | 5388 KiB |
| large_2_5.txt | AC | 54 ms | 5384 KiB |
| large_30000.txt | AC | 60 ms | 5792 KiB |
| large_30000_2.txt | AC | 67 ms | 5736 KiB |
| large_30000_3.txt | AC | 65 ms | 5704 KiB |
| large_30000_4.txt | AC | 62 ms | 5776 KiB |
| large_30000_5.txt | AC | 50 ms | 5740 KiB |
| max.txt | AC | 30 ms | 5392 KiB |
| multi_1.txt | AC | 354 ms | 3464 KiB |
| multi_10.txt | AC | 71 ms | 3336 KiB |
| multi_100.txt | AC | 44 ms | 3396 KiB |
| multi_1000.txt | AC | 44 ms | 3432 KiB |
| multi_10000.txt | AC | 46 ms | 3556 KiB |
| multi_2.txt | AC | 199 ms | 3400 KiB |
| multi_30.txt | AC | 50 ms | 3432 KiB |
| multi_3000.txt | AC | 46 ms | 3456 KiB |
| multi_400.txt | AC | 43 ms | 3488 KiB |
| multi_5.txt | AC | 103 ms | 3476 KiB |
| various_10.txt | AC | 51 ms | 3956 KiB |
| various_100.txt | AC | 46 ms | 3608 KiB |
| various_1000.txt | AC | 44 ms | 3504 KiB |
| various_10000.txt | AC | 51 ms | 3564 KiB |
| various_2.txt | AC | 56 ms | 5092 KiB |
| various_3.txt | AC | 55 ms | 4688 KiB |
| various_30.txt | AC | 48 ms | 3524 KiB |
| various_3000.txt | AC | 44 ms | 3500 KiB |
| various_400.txt | AC | 44 ms | 3472 KiB |
| various_5.txt | AC | 57 ms | 5428 KiB |