QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#488131 | #140. Palembang Bridges | Dimash | 31 | 32ms | 14568kb | C++14 | 2.7kb | 2024-07-23 16:58:48 | 2024-07-23 16:58:49 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 3e5 + 21, MOD = (int)1e9+7;
#define int ll
int n,k;
ll res = 0;
array<int,2> a[N];
ll L[N],R[N];
vector<pair<int,int>> sc;
void prec(){
for(int i = 1;i <= n;i++){
sc.push_back({a[i][0],0});
sc.push_back({a[i][1],1});
}
sort(sc.begin(),sc.end());
ll sum = 0,col = 0;
for(int i = 0;i < (int)sc.size();i++){
L[i] = (sc[i].first * 1ll * col) - sum;
if(sc[i].second == 1){
col++;
sum += sc[i].first;
}
}
col = sum =0 ;
for(int i = (int)sc.size() - 1;i >= 0;i--){
R[i] = sum - (sc[i].first * 1ll * col);
if(sc[i].second == 0){
col++;
sum += sc[i].first;
}
}
}
ll solve(){
if(!n) return 0;
ll res = 1e18;
for(int i = 0;i < (int)sc.size();i++){
res = min(res,2*(L[i] + R[i]));
}
return res;
}
ll calc(int l,int r){
ll sum = 0;
for(int i = 1;i <= n;i++){
if(a[i][0] > l && a[i][1] < r){
sum += min(2ll*(a[i][0] - l),2*1ll*(r - a[i][1]));
}
}
return sum;
}
void test() {
cin >> k >> n;
int _i = 0;
for(int i = 1;i <= n;i++) {
char x,y;
int l,r;
cin >> x >> l >> y >> r;
if(l > r){
swap(l,r);
swap(x,y);
}
res += (r - l);
if(x == y){
continue;
}
res++;
a[++_i] = {l,r};
}
n = _i;
prec();
if(k == 1){
cout << res + solve();
return;
}
if(n == 0){
cout << res;
return;
}
ll cur = 1e18,d = 1e18;
int j = -1;
int pos_;
while(j + 1 < (int)sc.size()){
ll val = L[0] * 2ll + R[j + 1] * 2ll + calc(sc[0].first,sc[j + 1].first);
j++;
if(val <= cur){
pos_ = j + 1;
cur = val;
}
}
j = pos_;
d = cur;
for(int i = 1;i < (int)sc.size();i++){
if(j < i) j = i;
cur = L[i] * 2ll + R[j] *2ll + calc(sc[i].first,sc[j].first);
while(j + 1 < (int)sc.size()){
ll val = L[i] * 2ll + R[j + 1] * 2ll + calc(sc[i].first,sc[j + 1].first);
if(val <= cur){
cur = val;
j++;
}else break;
}
// cout << sc[i].first << ' ' << sc[j].first << ' ' << cur << '\n';
d = min(d,cur);
}
cout << res + d << '\n';
}
signed main() {
ios_base::sync_with_stdio(false);cin.tie(0);
int t = 1;
// cin >> t;
while(t--) {
test();
}
}
详细
Subtask #1:
score: 8
Accepted
Test #1:
score: 8
Accepted
time: 0ms
memory: 3560kb
input:
1 1 B 426311872 B 741424667
output:
315112795
result:
ok single line: '315112795'
Test #2:
score: 8
Accepted
time: 1ms
memory: 7732kb
input:
1 1000 A 1000000000 B 1000000000 B 1000000000 A 1000000000 A 500000000 B 500000000 A 1000000000 B 1000000000 B 0 A 0 A 500000000 B 500000000 B 0 A 0 A 1000000000 B 1000000000 A 500000000 B 500000000 A 1000000000 B 1000000000 B 1000000000 A 1000000000 A 0 B 0 B 0 A 0 B 0 A 0 A 500000000 B 500000000 B...
output:
659000001000
result:
ok single line: '659000001000'
Test #3:
score: 8
Accepted
time: 1ms
memory: 7804kb
input:
1 1000 A 500000001 B 500000000 A 500000002 B 500000003 A 500000005 B 500000004 A 1 B 0 B 500000007 A 500000006 A 500000009 B 500000008 B 500000010 A 500000011 B 1000000000 A 999999999 A 3 B 2 B 499999988 A 499999989 A 999999998 B 999999997 B 4 A 5 B 7 A 6 A 9 B 8 A 10 B 11 B 999999996 A 999999995 A ...
output:
649999819818
result:
ok single line: '649999819818'
Test #4:
score: 8
Accepted
time: 0ms
memory: 3616kb
input:
1 4 B 90 B 72 A 68 A 90 A 15 A 42 A 45 A 15
output:
97
result:
ok single line: '97'
Test #5:
score: 8
Accepted
time: 1ms
memory: 7816kb
input:
1 1000 A 0 B 1 A 1 B 0 A 0 B 1 B 0 A 0 B 1 B 1 B 0 A 0 A 1 B 1 A 1 B 1 A 1 B 0 A 0 B 1 A 0 B 0 B 1 A 1 B 0 A 0 B 0 A 0 A 1 B 0 A 1 B 0 B 1 A 0 B 0 A 0 A 1 B 1 A 1 B 1 B 0 A 1 B 0 A 1 A 0 B 1 B 0 A 1 A 1 B 0 A 1 B 1 B 1 A 0 B 1 A 0 B 1 A 0 A 1 B 0 A 0 B 1 A 0 B 1 A 0 B 0 B 0 A 0 A 1 B 1 B 0 A 1 B 0 A...
output:
1969
result:
ok single line: '1969'
Test #6:
score: 8
Accepted
time: 1ms
memory: 7888kb
input:
1 1000 A 598246 B 85766 B 457924 A 841963 B 107690 A 39924 B 814042 A 328853 B 518897 A 548739 B 633776 A 181927 A 985484 B 773931 A 698975 B 526021 A 846547 B 258759 B 778661 A 181322 B 131489 A 151052 A 669218 B 314136 B 562707 A 887236 B 47953 A 880429 A 251615 B 488724 B 734021 A 487209 B 492935...
output:
497401257
result:
ok single line: '497401257'
Test #7:
score: 8
Accepted
time: 0ms
memory: 7788kb
input:
1 967 B 209071192 A 810324333 A 603292190 B 990286906 B 76624835 A 1764783 B 38843365 A 66481975 B 506328820 A 854781128 B 601820095 A 20961640 B 953337305 A 762377474 B 472547211 A 248665021 A 908090176 B 277738137 B 523090586 A 193277212 B 824206700 A 342446509 B 845969410 A 191939894 A 472429676 ...
output:
470796680092
result:
ok single line: '470796680092'
Test #8:
score: 8
Accepted
time: 0ms
memory: 7868kb
input:
1 1000 B 0 A 1000000000 B 0 A 1000000000 B 1000000000 A 0 A 1000000000 B 0 B 0 A 1000000000 B 0 A 1000000000 A 0 B 1000000000 B 0 A 1000000000 B 0 A 1000000000 B 0 A 1000000000 B 0 A 1000000000 A 1000000000 B 0 B 0 A 1000000000 B 0 A 1000000000 A 1000000000 B 0 B 1000000000 A 0 B 1000000000 A 0 B 0 ...
output:
1000000001000
result:
ok single line: '1000000001000'
Test #9:
score: 8
Accepted
time: 0ms
memory: 7800kb
input:
1 1000 A 126148 B 138629 A 1956796 B 1961512 A 2467612 B 2976963 B 3231056 A 3187470 B 4485092 A 4805418 A 5815768 B 5012466 B 6709826 A 6631652 A 7384525 B 7982443 A 8702501 B 8083053 A 9750494 B 9414146 B 10511913 A 10300242 A 11414967 B 11792128 B 12453829 A 12271791 A 13801488 B 13139841 B 14570...
output:
499992449655
result:
ok single line: '499992449655'
Test #10:
score: 8
Accepted
time: 1ms
memory: 7804kb
input:
1 1000 B 1000000000 A 0 B 1 A 999999999 A 999999998 B 2 A 999999997 B 3 A 999999996 B 4 B 5 A 999999995 B 6 A 999999994 A 7 B 999999993 B 999999992 A 8 A 9 B 999999991 A 999999990 B 10 A 11 B 999999989 B 12 A 999999988 A 13 B 999999987 B 14 A 999999986 A 999999985 B 15 B 999999984 A 16 B 17 A 999999...
output:
999999002000
result:
ok single line: '999999002000'
Test #11:
score: 8
Accepted
time: 1ms
memory: 7828kb
input:
1 1000 A 639022834 B 639022825 B 164875881 A 164875889 A 345973409 B 345973410 B 650643813 A 650643816 A 218804569 B 218804573 B 60886574 A 60886583 B 829040885 A 829040890 B 340211580 A 340211573 B 783059185 A 783059177 B 994262398 A 994262399 B 427304481 A 427304486 A 373191501 B 373191501 A 65190...
output:
498415265474
result:
ok single line: '498415265474'
Subtask #2:
score: 14
Accepted
Dependency #1:
100%
Accepted
Test #12:
score: 14
Accepted
time: 10ms
memory: 13960kb
input:
1 100000 B 0 A 0 A 1 B 0 B 0 A 0 A 1 B 0 B 1 A 0 B 1 A 1 B 1 A 0 A 0 B 0 B 1 A 0 B 1 A 0 B 1 A 0 B 0 A 1 B 0 A 0 B 0 A 1 A 0 B 1 B 1 A 0 A 1 B 1 B 0 A 0 A 0 B 0 A 1 B 1 B 1 A 0 B 0 A 1 A 0 B 0 A 0 B 1 B 1 A 0 A 0 B 1 A 0 B 0 A 1 B 0 A 1 B 1 A 1 B 0 B 1 A 0 A 1 B 0 A 0 B 0 B 0 A 1 B 1 A 0 A 0 B 1 A 0...
output:
199907
result:
ok single line: '199907'
Test #13:
score: 14
Accepted
time: 21ms
memory: 14484kb
input:
1 100000 A 999999999 B 1000000000 A 1 B 0 B 3 A 2 A 4 B 5 A 999999998 B 999999997 A 500000000 B 500000001 B 999999995 A 999999996 B 999999993 A 999999994 A 500000002 B 500000003 A 500000005 B 500000004 B 500000007 A 500000006 A 999999991 B 999999992 A 7 B 6 A 999999989 B 999999990 B 499999993 A 4999...
output:
66818736664678
result:
ok single line: '66818736664678'
Test #14:
score: 14
Accepted
time: 29ms
memory: 13172kb
input:
1 100000 A 999933197 B 922319427 B 358973258 A 110896122 B 790706905 A 700578466 A 261833979 B 174780238 B 527377624 A 790157498 A 712098182 B 434767355 B 649365576 A 222614576 B 524821299 A 224370351 B 634735585 A 55865839 A 423764322 B 340889518 A 366912717 B 836451240 A 284261689 B 409476293 B 55...
output:
50064192028779
result:
ok single line: '50064192028779'
Test #15:
score: 14
Accepted
time: 15ms
memory: 14152kb
input:
1 69170 A 4068 B 355 A 9929 B 3341 A 4251 B 9270 B 5374 A 2023 A 3681 B 3440 B 6376 A 5305 B 4997 A 5759 A 3317 B 8305 A 8373 B 5214 A 1547 B 2435 A 4626 B 5646 B 248 A 1475 A 6965 B 4751 B 3227 A 6900 B 9360 A 9365 A 9541 B 9544 A 8973 B 4135 A 4153 B 4360 A 8220 B 2175 A 5226 B 798 B 3407 A 7817 B...
output:
345319577
result:
ok single line: '345319577'
Test #16:
score: 14
Accepted
time: 15ms
memory: 12804kb
input:
1 67413 B 457424278 A 935666529 A 681939979 B 928741595 A 239479026 B 115368163 A 958803056 B 199062010 A 486156065 B 570726489 B 548364515 A 298119844 A 898952041 B 85864523 A 547883826 B 982228879 B 859912859 A 399166419 B 264228446 A 288037768 A 367765591 B 463758282 B 798194145 A 176040722 A 814...
output:
33756488959590
result:
ok single line: '33756488959590'
Test #17:
score: 14
Accepted
time: 20ms
memory: 13864kb
input:
1 100000 B 0 A 1000000000 A 1000000000 B 0 A 0 B 1000000000 B 0 A 1000000000 A 0 B 1000000000 A 0 B 1000000000 B 0 A 1000000000 B 1000000000 A 0 B 0 A 1000000000 A 0 B 1000000000 A 1000000000 B 0 B 1000000000 A 0 B 0 A 1000000000 A 1000000000 B 0 A 1000000000 B 0 B 0 A 1000000000 A 1000000000 B 0 A ...
output:
100000000100000
result:
ok single line: '100000000100000'
Test #18:
score: 14
Accepted
time: 18ms
memory: 13724kb
input:
1 100000 B 4010 A 1623 A 17430 B 10348 A 21931 B 24331 B 32800 A 32334 A 46932 B 46932 B 50584 A 51555 B 67804 A 65286 B 74388 A 78905 A 89581 B 87977 B 92190 A 99330 A 103837 B 109596 A 110712 B 118878 B 129571 A 129684 B 135403 A 135955 B 142981 A 141340 A 157619 B 156022 A 160751 B 160032 B 17041...
output:
50000000498063
result:
ok single line: '50000000498063'
Test #19:
score: 14
Accepted
time: 18ms
memory: 13992kb
input:
1 100000 A 1000000000 B 0 A 1 B 999999999 B 999999998 A 2 B 999999997 A 3 A 999999996 B 4 A 999999995 B 5 A 6 B 999999994 B 999999993 A 7 B 8 A 999999992 B 9 A 999999991 A 10 B 999999990 A 11 B 999999989 A 999999988 B 12 B 999999987 A 13 B 999999986 A 14 B 999999985 A 15 A 16 B 999999984 A 999999983...
output:
99990000200000
result:
ok single line: '99990000200000'
Test #20:
score: 14
Accepted
time: 32ms
memory: 12800kb
input:
1 100000 B 720785899 A 720785904 B 287750440 A 287750448 B 76945024 A 76945019 B 841992577 A 841992581 B 391280439 A 391280443 B 427213907 A 427213908 A 675103196 B 675103193 B 294688240 A 294688246 B 776975834 A 776975844 B 731042985 A 731042989 B 982066740 A 982066750 B 834618250 A 834618241 B 368...
output:
49895210266053
result:
ok single line: '49895210266053'
Test #21:
score: 14
Accepted
time: 20ms
memory: 14568kb
input:
1 100000 A 1000000000 B 1000000000 B 0 A 0 A 1000000000 B 1000000000 A 500000000 B 500000000 B 1000000000 A 1000000000 A 500000000 B 500000000 B 1000000000 A 1000000000 B 500000000 A 500000000 B 1000000000 A 1000000000 B 1000000000 A 1000000000 A 0 B 0 B 0 A 0 B 500000000 A 500000000 B 1000000000 A ...
output:
66715000100000
result:
ok single line: '66715000100000'
Subtask #3:
score: 9
Accepted
Test #22:
score: 9
Accepted
time: 0ms
memory: 3628kb
input:
2 1 B 822190955 B 309099167
output:
513091788
result:
ok single line: '513091788'
Test #23:
score: 9
Accepted
time: 0ms
memory: 7716kb
input:
2 100 A 699479271 B 699479270 B 999432953 A 999432956 A 657124443 B 657124444 B 928721383 A 928721383 B 809218485 A 809218487 B 220719335 A 220719338 B 93242937 A 93242943 A 566737518 B 566737523 A 751211620 B 751211614 B 799605314 A 799605321 A 634052514 B 634052513 B 681923789 A 681923799 B 377862...
output:
22963819679
result:
ok single line: '22963819679'
Test #24:
score: 9
Accepted
time: 1ms
memory: 7812kb
input:
2 100 A 1000000000 B 1000000000 B 500000000 A 500000000 B 0 A 0 A 500000000 B 500000000 A 500000000 B 500000000 A 500000000 B 500000000 A 500000000 B 500000000 A 1000000000 B 1000000000 A 1000000000 B 1000000000 B 0 A 0 A 500000000 B 500000000 A 1000000000 B 1000000000 B 500000000 A 500000000 B 5000...
output:
27000000100
result:
ok single line: '27000000100'
Test #25:
score: 9
Accepted
time: 0ms
memory: 7740kb
input:
2 100 A 500000001 B 500000000 A 1 B 0 B 999999999 A 1000000000 A 500000003 B 500000002 B 500000005 A 500000004 A 3 B 2 B 5 A 4 A 999999998 B 999999997 B 500000007 A 500000006 B 999999995 A 999999996 B 7 A 6 A 500000009 B 500000008 B 999999994 A 999999993 A 499999991 B 499999990 B 999999991 A 9999999...
output:
30999998022
result:
ok single line: '30999998022'
Test #26:
score: 9
Accepted
time: 0ms
memory: 3640kb
input:
2 4 B 55 B 78 A 21 A 97 B 92 B 92 B 84 B 74
output:
109
result:
ok single line: '109'
Test #27:
score: 9
Accepted
time: 1ms
memory: 7664kb
input:
2 100 A 1 B 1 A 1 B 1 A 1 B 1 B 1 A 0 B 0 A 0 A 1 B 0 A 0 B 0 B 1 A 1 B 1 A 1 B 0 A 0 A 1 A 1 A 1 B 0 B 0 A 0 B 1 A 1 B 1 A 0 B 1 A 0 A 1 B 0 A 1 B 1 B 1 A 1 B 1 B 0 B 0 A 1 A 1 B 1 B 1 A 0 B 0 A 1 B 0 A 0 A 1 B 0 A 1 B 1 B 0 A 1 A 1 B 0 B 1 A 1 B 1 A 1 A 1 B 1 B 0 A 0 A 1 B 0 A 0 B 1 B 0 A 0 A 1 A ...
output:
134
result:
ok single line: '134'
Test #28:
score: 9
Accepted
time: 1ms
memory: 7724kb
input:
2 100 A 830663645 B 149522781 A 91020617 A 136114869 A 976752072 B 489083479 A 723475760 B 425258491 B 343608279 A 670899746 A 948111864 B 835020012 B 541673521 A 177220771 B 47989541 A 856054452 A 899383900 B 515311822 B 210600075 A 430126441 A 389002944 B 805377377 A 59969611 B 181903236 B 2100061...
output:
38368426380
result:
ok single line: '38368426380'
Test #29:
score: 9
Accepted
time: 1ms
memory: 7792kb
input:
2 61 B 421247 A 136386 B 577338 A 575018 A 590049 B 713374 B 707177 A 639019 B 88729 B 547265 A 609888 B 534260 B 718179 A 724517 A 314007 B 466852 A 943926 B 122653 A 203876 B 174784 A 921491 B 105450 A 231798 A 227899 B 910090 A 511702 A 611315 B 54073 A 466988 A 13202 A 535718 B 404074 A 742249 B...
output:
22682805
result:
ok single line: '22682805'
Test #30:
score: 9
Accepted
time: 1ms
memory: 7748kb
input:
2 74 B 882053752 A 484125527 B 365288128 A 966242196 A 898572614 B 833287499 B 503717014 A 522767856 B 896307119 A 383401506 B 441952771 A 170666881 B 533706597 A 587785410 A 944236304 B 784216408 B 539852944 A 2899025 A 543184591 B 320826476 B 835430009 A 129002850 B 474888334 A 348197537 B 1389952...
output:
27253941365
result:
ok single line: '27253941365'
Test #31:
score: 9
Accepted
time: 1ms
memory: 7732kb
input:
2 100 B 0 A 1000000000 B 1000000000 A 0 A 0 B 1000000000 A 1000000000 B 0 A 0 B 1000000000 B 0 A 1000000000 A 1000000000 B 0 A 1000000000 B 0 B 0 A 1000000000 A 0 B 1000000000 A 1000000000 B 0 A 0 B 1000000000 B 1000000000 A 0 B 1000000000 A 0 B 0 A 1000000000 A 1000000000 B 0 A 1000000000 B 0 A 100...
output:
100000000100
result:
ok single line: '100000000100'
Test #32:
score: 9
Accepted
time: 0ms
memory: 7756kb
input:
2 100 A 6749046 B 3359864 A 13741638 B 13682786 B 23339341 A 26650025 A 38142196 B 34007241 A 40375972 B 42863354 A 59569434 B 51459009 B 65829926 A 62359300 B 73417555 A 73466413 A 81029817 B 84425918 B 99092259 A 97204366 B 103900241 A 109835720 B 118829851 A 117967463 A 123398728 B 128836974 B 13...
output:
25026097994
result:
ok single line: '25026097994'
Test #33:
score: 9
Accepted
time: 1ms
memory: 7764kb
input:
2 100 A 0 B 1000000000 B 1 A 999999999 B 999999998 A 2 B 3 A 999999997 B 4 A 999999996 A 5 B 999999995 B 6 A 999999994 B 7 A 999999993 B 999999992 A 8 B 9 A 999999991 A 10 B 999999990 B 11 A 999999989 A 12 B 999999988 B 13 A 999999987 B 999999986 A 14 A 15 B 999999985 B 999999984 A 16 A 999999983 B ...
output:
99999990200
result:
ok single line: '99999990200'
Subtask #4:
score: 0
Wrong Answer
Dependency #3:
100%
Accepted
Test #34:
score: 32
Accepted
time: 4ms
memory: 7732kb
input:
2 1000 A 1 B 1 B 0 A 0 B 0 A 1 A 1 B 1 B 0 A 1 B 0 A 1 A 1 B 0 B 0 A 0 A 0 B 1 A 1 B 0 B 0 A 0 A 0 B 1 A 1 B 0 B 1 A 1 A 0 B 1 A 1 B 1 A 1 B 0 A 1 B 1 B 0 A 0 A 0 B 1 B 1 A 1 A 0 B 0 B 0 A 0 B 0 A 0 B 1 A 0 B 1 A 0 B 0 A 1 B 1 A 0 A 1 B 1 B 1 A 0 A 1 B 1 B 0 A 0 A 1 B 1 B 1 A 0 B 0 A 1 A 1 B 1 B 0 A...
output:
1508
result:
ok single line: '1508'
Test #35:
score: 32
Accepted
time: 5ms
memory: 7828kb
input:
2 1000 B 717798362 A 717798355 B 145329556 A 145329556 A 90842768 B 90842766 A 190490307 B 190490306 A 353148284 B 353148284 A 592596931 B 592596929 B 339344699 A 339344704 A 7836475 B 7836470 A 612202811 B 612202820 A 583480096 B 583480102 A 592358042 B 592358045 B 234483707 A 234483712 B 549007793...
output:
258029904161
result:
ok single line: '258029904161'
Test #36:
score: 0
Wrong Answer
time: 2ms
memory: 7812kb
input:
2 1000 A 1000000000 B 1000000000 B 0 A 0 A 0 B 0 A 0 B 0 A 0 B 0 A 0 B 0 A 0 B 0 A 500000000 B 500000000 A 1000000000 B 1000000000 A 1000000000 B 1000000000 B 500000000 A 500000000 A 0 B 0 B 1000000000 A 1000000000 A 1000000000 B 1000000000 B 1000000000 A 1000000000 B 0 A 0 B 1000000000 A 1000000000...
output:
1000
result:
wrong answer 1st lines differ - expected: '326000001000', found: '1000'
Subtask #5:
score: 0
Skipped
Dependency #4:
0%