QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#488131#140. Palembang Bridges Dimash31 32ms14568kbC++142.7kb2024-07-23 16:58:482024-07-23 16:58:49

Judging History

你现在查看的是最新测评结果

  • [2024-07-23 16:58:49]
  • 评测
  • 测评结果:31
  • 用时:32ms
  • 内存:14568kb
  • [2024-07-23 16:58:48]
  • 提交

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();
    }
}

Details

Tip: Click on the bar to expand more detailed information

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%