QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#141411 | #6525. New Houses | cy1999 | WA | 221ms | 7852kb | C++20 | 749b | 2023-08-17 11:47:01 | 2023-08-17 11:47:02 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
const int N=500010;
int n,m;
pair<int,int> a[N];
long long s[N],s1[N];
void solve(){
cin>>n>>m;
for(int i=1; i<=n; i++){
scanf("%d%d",&a[i].first,&a[i].second);
}
sort(a+1,a+1+n);
reverse(a+1,a+1+n);
s[0]=s1[n+1]=0;
for(int i=1; i<=n; i++) s[i]=s[i-1]+a[i].first;
for(int i=n; i; i--) s1[i]=s1[i+1]+a[i].second;
long long ans=0;
for(int i=2; i<=n; i++){
if((m-i)/2>=n-i){
ans=max(ans,s[i]+(s1[i+1]-s1[n+1]));
}
}
if((m-1)/2+1>=n){
ans=max(ans,s1[1]);
}
cout<<ans<<'\n';
}
int main(){
int T;
cin>>T;
while(T--) solve();
return 0;
}
/*
3
4 5
1 100
100 1
100 1
100 1
2 2
1 10
1 10
2 3
100 50
1 1000
*/
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 7620kb
input:
3 4 5 1 100 100 1 100 1 100 1 2 2 1 10 1 10 2 3 100 50 1 1000
output:
400 2 1050
result:
ok 3 number(s): "400 2 1050"
Test #2:
score: -100
Wrong Answer
time: 221ms
memory: 7852kb
input:
100000 6 11 191141536 365120521 799679686 648574232 102602909 467685128 405440859 796808887 384858152 191995380 433392826 195648471 5 13 831367906 510447872 795639287 575551283 811207605 176441088 240156289 946977042 133416463 721098873 5 5 806744021 699586200 630510306 637827160 49223781 641709297 ...
output:
3054682428 4106290713 2653993029 4830744550 5570513606 2031887824 2044500908 1857678917 6472804265 2237593918 6554072406 5143913543 3690874076 5382960200 5513905900 5404435094 4705403467 2411992217 3091791968 4686201646 3921151709 1271949960 2309311018 3731100086 2716183054 974485573 5989505209 8839...
result:
wrong answer 1st numbers differ - expected: '3247545200', found: '3054682428'