QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#138358 | #6525. New Houses | kingstonduy# | WA | 85ms | 3524kb | C++23 | 1.0kb | 2023-08-11 16:26:04 | 2023-08-11 16:26:07 |
Judging History
answer
#include<bits/stdc++.h>
#define int long long
using namespace std;
bool cmp(pair<int, int> &A, pair<int, int> &B) {
return (A.second - A.first) > (B.second - B.first);
}
signed main(){
ios::sync_with_stdio(0); cin.tie(0);
// freopen("input.txt","r",stdin);
//freopen("output.txt","w",stdout);
int t;
cin >> t;
while (t--) {
int n, m;
cin >> n >> m;
int k = m - n;
int s = 0, s2 = 0;
vector<pair<int, int>> a(n);
for (auto &[u, v]: a) {
cin >> u >> v;
s += u;
s2 += v;
}
sort(a.begin(), a.end(), cmp);
int res = s;
int ss = s;
for (int i = 0 ; i < n ; i++) {
s += a[i].second - a[i].first;
if(i*2 + (n-i) > m) continue;
if (i < n-2) {
res = max(res, s);
}
}
if(n*2-1 <=m) {
res = max(res, s2);
}
cout << res << "\n";
}
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 3524kb
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: 85ms
memory: 3472kb
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:
3247545200 4106290713 3246478545 5122532137 5791930886 2031887824 2428482898 1857678917 6815058419 2237593918 6646615756 5702165099 3690874076 5497726904 6023989357 5404435094 4705403467 2411992217 3430587752 5183080144 3921151709 1445672728 2692878616 3833748807 2716183054 974485573 6464787173 1217...
result:
wrong answer 3rd numbers differ - expected: '2653993029', found: '3246478545'