QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#707270 | #9529. Farm Management | obiwan114 | WA | 60ms | 29740kb | C++20 | 1.9kb | 2024-11-03 15:21:06 | 2024-11-03 15:21:06 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define int long long
using ll = long long;
using pii = pair<int, int>;
using pll = pair<ll, ll>;
const int MAXX = 2e5 + 10;
const ll INF = 1e18;
const ll mod = 1e9 + 7;
void solve() {
int n,m;
cin >> n >> m;
vector<array<int,3>>a(n + 5);
for(int i = 1;i <= n;i++){
cin >> a[i][0] >> a[i][1] >> a[i][2];
}
sort(a.begin() + 1,a.begin() + n + 1,greater<>());
vector<int>cnt(n + 5);
int sum = 0;
int temp = 0;
for(int i = 1;i <= n;i++){
auto [w,l,r] = a[i];
cnt[i] = l;
temp += cnt[i];
}
for(int i = 1;i <= n;i++){
auto [w,l,r] = a[i];
if(temp < m){
int t = min(r - cnt[i],m - temp);
cnt[i] += t;
temp += t;
}
sum += cnt[i] * w;
}
vector<int>pre;
pre.push_back(0);
vector<int>suf;
suf.push_back(0);
vector<int>preli(n + 5);
vector<int>sufli(n + 5);
for(int i = 1;i <= n;i++){
auto [w,l,r] = a[i];
preli[i] = pre.size() - 1;
int t = cnt[i];
while(pre.size() <= 1e6 + 5 && t < r){
pre.push_back(pre[pre.size() - 1] + w);
t++;
}
}
for(int i = n;i >= 1;i--){
auto [w,l,r] = a[i];
sufli[i] = suf.size() - 1;
int t = cnt[i];
while(suf.size() <= 1e6 + 5 && t > l){
suf.push_back(suf[suf.size() - 1] + w);
t--;
}
}
int ans = sum;
for(int i = 1;i <= n;i++){
auto [w,l,r] = a[i];
int t = sum;
t += pre[min(preli[i], cnt[i])];
t -= min(preli[i], cnt[i]) * w;
t -= suf[min(sufli[i], m)];
t += min(sufli[i], m) * w;
ans = max(ans,t);
}
cout << ans << "\n";
}
signed main() {
int t = 1;
// cin >> t;
while (t--) {
solve();
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3576kb
input:
5 17 2 3 4 6 1 5 8 2 4 4 3 3 7 5 5
output:
109
result:
ok single line: '109'
Test #2:
score: 0
Accepted
time: 0ms
memory: 3552kb
input:
12 62 503792 9 10 607358 1 3 600501 10 10 33249 4 4 774438 6 6 197692 3 6 495807 8 8 790225 5 9 77272 3 8 494819 4 9 894779 3 9 306279 5 6
output:
35204500
result:
ok single line: '35204500'
Test #3:
score: 0
Accepted
time: 0ms
memory: 3576kb
input:
15 32 835418 2 3 178262 1 3 527643 2 2 519710 1 1 774544 3 3 82312 1 1 808199 1 1 809396 1 3 255882 1 3 80467 1 3 874973 1 3 813965 1 2 198275 1 2 152356 1 3 802055 1 1
output:
22000255
result:
ok single line: '22000255'
Test #4:
score: 0
Accepted
time: 0ms
memory: 3512kb
input:
13 20 526447 1 1 807398 2 2 4167 1 2 944031 2 2 830685 2 2 394251 1 2 505011 1 2 968848 1 1 58170 1 3 32504 1 1 792273 3 3 196120 1 2 714507 1 1
output:
12878768
result:
ok single line: '12878768'
Test #5:
score: 0
Accepted
time: 0ms
memory: 3808kb
input:
13 32 582584 1 3 335440 3 3 971984 1 2 864169 1 2 528515 1 1 382399 1 2 459855 1 2 406909 2 3 66780 2 3 885118 3 3 434844 1 2 93331 1 3 502509 1 3
output:
22065034
result:
ok single line: '22065034'
Test #6:
score: 0
Accepted
time: 0ms
memory: 3576kb
input:
12 77 30244 1 7 518214 3 8 486001 8 9 152634 2 3 180255 3 4 791887 1 6 635820 2 9 881171 3 5 337905 3 8 683182 5 5 300786 3 6 339094 7 9
output:
50453764
result:
ok single line: '50453764'
Test #7:
score: 0
Accepted
time: 0ms
memory: 12480kb
input:
10 3923726 826284 215861 638800 471693 146746 886003 140800 532315 684546 673434 604071 814259 170671 299465 525449 104262 689547 855391 215333 591975 803421 795321 31606 984783 103838 361911 601318 145693 450227 686945
output:
1597735409747
result:
ok single line: '1597735409747'
Test #8:
score: 0
Accepted
time: 57ms
memory: 18044kb
input:
100000 16648414311 252800 55607 195981 157144 548469 789695 643048 2 2 907957 3 3 32532 231618 316365 194428 227513 762023 4231 393553 699179 898052 3 5 507551 3 5 747498 1 4 857939 9 9 440056 764429 796585 495571 117772 838593 4059 551203 870687 60877 597981 770178 593237 4 10 438147 218335 370780 ...
output:
4148641232436282
result:
ok single line: '4148641232436282'
Test #9:
score: 0
Accepted
time: 51ms
memory: 18180kb
input:
100000 14997174848 996832 2 5 193379 411081 976749 339827 553492 639067 127364 131886 237768 615192 3 9 417612 599185 637969 812326 2 5 22605 80976 90557 350917 119223 755129 807528 7 8 165108 327186 793786 126946 530792 700713 246467 387234 557026 286888 485816 869662 398882 73798 458939 651741 3 9...
output:
3763949202789374
result:
ok single line: '3763949202789374'
Test #10:
score: 0
Accepted
time: 55ms
memory: 17816kb
input:
99999 49959949282 541788 999954 999965 269794 8 9 446939 999985 999990 994146 7 13 976318 999916 999995 372141 999918 999934 398999 999949 999983 736560 4 7 753380 999933 999979 664693 12 14 336068 999904 999914 337406 11 11 153015 2 3 989608 1 15 61489 999921 999977 438155 999928 999955 374725 6 14...
output:
24950941271114177
result:
ok single line: '24950941271114177'
Test #11:
score: 0
Accepted
time: 60ms
memory: 17744kb
input:
100000 50094841499 989502 999933 999995 613471 999942 999989 987086 999912 999912 170196 8 8 992426 7 8 935974 999985 999993 509210 7 8 136227 999901 999966 975351 3 8 979031 4 6 160909 999918 999956 919448 6 6 166331 3 10 412011 1 2 815782 999967 999985 272771 1 9 414870 6 10 991275 6 8 568088 9999...
output:
25091133401633321
result:
ok single line: '25091133401633321'
Test #12:
score: 0
Accepted
time: 0ms
memory: 3800kb
input:
1 1 1000000 1 1
output:
1000000
result:
ok single line: '1000000'
Test #13:
score: 0
Accepted
time: 28ms
memory: 7920kb
input:
99999 99999 2 1 1 2 1 1 4 1 1 9 1 1 1 1 1 2 1 1 4 1 1 8 1 1 7 1 1 5 1 1 6 1 1 8 1 1 10 1 1 5 1 1 7 1 1 3 1 1 4 1 1 7 1 1 8 1 1 7 1 1 7 1 1 6 1 1 8 1 1 1 1 1 5 1 1 1 1 1 8 1 1 5 1 1 9 1 1 3 1 1 10 1 1 8 1 1 4 1 1 3 1 1 9 1 1 2 1 1 1 1 1 10 1 1 5 1 1 3 1 1 3 1 1 5 1 1 4 1 1 7 1 1 6 1 1 3 1 1 7 1 1 2 1...
output:
549692
result:
ok single line: '549692'
Test #14:
score: 0
Accepted
time: 50ms
memory: 7848kb
input:
100000 100000000000 9 1000000 1000000 9 1000000 1000000 3 1000000 1000000 8 1000000 1000000 7 1000000 1000000 7 1000000 1000000 8 1000000 1000000 10 1000000 1000000 9 1000000 1000000 3 1000000 1000000 5 1000000 1000000 3 1000000 1000000 6 1000000 1000000 5 1000000 1000000 8 1000000 1000000 8 1000000...
output:
549817000000
result:
ok single line: '549817000000'
Test #15:
score: 0
Accepted
time: 35ms
memory: 12820kb
input:
100000 671789 5 2 10 9 5 7 8 2 9 5 8 10 8 2 9 1 1 4 2 4 4 2 4 10 1 7 8 6 2 5 6 2 9 8 2 8 7 4 9 7 2 7 6 9 10 2 8 10 5 2 5 10 7 7 8 10 10 1 2 10 9 5 8 1 2 10 7 7 10 2 1 8 8 3 5 9 2 6 9 6 7 1 2 6 1 5 9 4 3 9 9 3 9 6 4 5 10 7 10 9 2 6 4 1 1 5 7 10 9 3 8 10 3 7 2 3 7 5 3 8 9 6 10 10 3 7 8 3 10 8 7 8 9 2 ...
output:
4980663
result:
ok single line: '4980663'
Test #16:
score: -100
Wrong Answer
time: 60ms
memory: 29740kb
input:
100000 43584087032 3 308557 419587 10 44993 179507 3 558835 576023 4 479689 820340 7 4935 112717 5 322154 540751 9 153422 454200 3 487079 842717 9 21773 328114 9 690130 713456 4 518679 947666 7 301275 983364 3 911034 987000 2 15489 33232 5 324080 855780 10 274011 978357 7 436627 535933 6 255072 3389...
output:
275353698628
result:
wrong answer 1st lines differ - expected: '285837954666', found: '275353698628'