QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#638870#9422. Two-star ContestzhaaaAC ✓86ms22504kbC++142.1kb2024-10-13 17:09:052024-10-13 17:09:06

Judging History

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

  • [2024-10-13 17:09:06]
  • 评测
  • 测评结果:AC
  • 用时:86ms
  • 内存:22504kb
  • [2024-10-13 17:09:05]
  • 提交

answer

#include <bits/stdc++.h>
#define endl '\n'
using namespace std;
typedef long long ll;
typedef pair<int,int>PII;
const int N=1e6+10;
const ll MX=1e9+10;
ll n,m,k;
struct MS{
    ll id,sum,cnt,s;
}a[N];
bool cmp(MS a,MS b){
    if(a.s!=b.s)return a.s>b.s;
    else return a.sum+a.cnt*k>b.sum+b.cnt*k;
}

void solve(){
    cin>>n>>m>>k;
    vector<ll>v1[n+10];
    for(int i=1;i<=n;i++){
        ll s,sum=0,cnt=0;
        cin>>s;
        for(int j=1;j<=m;j++){
            ll s1;
            cin>>s1;
            v1[i].push_back(s1);
            if(s1>=0){
                sum+=s1;
            }else{
                cnt++;
            }
        }
        a[i]={i,sum,cnt,s};
    }
    sort(a+1,a+1+n,cmp);
    a[n+1]={MX,MX,MX,0};
    vector<ll>v[n+10];
    bool f=false;
    map<ll,ll>mp;
    mp[0]=1e18+10;
    ll num=-1;
    for(int i=1;i<=n;i++){
        int j=i+1;
        ll l=a[i].sum;
        ll r=a[i].sum+a[i].cnt*k;
        if(a[i].s==a[i-1].s){
            if(a[i].sum+a[i].cnt*k<num) num=a[i].sum+a[i].cnt*k;
        }
        else{
            if(num==-1) num=a[i].sum+a[i].cnt*k;
            else{
                num--;
                if(num<a[i].sum) {
                    cout<<"No"<<endl;
                    return ;
                }
                else {
                    if(num>a[i].sum+a[i].cnt*k) num=r;
                }
            }
        }
        if(num<l){
            cout<<"No"<<endl;
            return;
        } 
        ll sum=num-a[i].sum;
        ll id=a[i].id;
        for(int j=0;j<m;j++){
            if(v1[id][j]==-1){
                ll t=min(k,sum);
                v[id].push_back(t);
                sum-=t;
            }else{
                v[id].push_back(v1[id][j]);
            }
        }
    }
    cout<<"Yes"<<endl;
    for(int i=1;i<=n;i++){
        for(int j=0;j<m;j++){
            cout<<v[i][j]<<" ";
        }
        cout<<endl;
    }
}
int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int t=1;
    cin>>t;
    while(t--){
        solve();
    }
    return 0;
}

这程序好像有点Bug,我给组数据试试?

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 3792kb

input:

5
3 4 5
5 1 3 -1 -1
2 -1 5 -1 5
3 3 -1 -1 4
2 3 10
10000 5 0 -1
1 10 10 10
2 3 10
10 1 2 3
100 4 5 6
2 3 10
100 1 2 3
10 4 5 6
2 3 10000
100 -1 -1 -1
1 -1 -1 -1

output:

Yes
1 3 5 5 
2 5 0 5 
3 5 1 4 
No
Yes
1 2 3 
4 5 6 
No
Yes
10000 10000 10000 
10000 10000 9999 

result:

ok ok 5 cases (5 test cases)

Test #2:

score: 0
Accepted
time: 31ms
memory: 6064kb

input:

1013
3 2 1
1 -1 -1
2 0 1
3 -1 -1
4 8 96295
302790137 -1 849 -1 -1 33907 7926 9461 70117
695984050 -1 -1 56792 -1 -1 -1 19527 -1
302790137 12828 30553 40825 67577 91517 77952 55631 63781
302790137 29385 -1 -1 -1 750 -1 -1 -1
2 6 72716304
892657961 -1 -1 66436933 -1 45419040 55642613
892657961 -1 6271...

output:

Yes
0 0 
0 1 
1 1 
Yes
96295 849 96295 96295 33907 7926 9461 70117 
96295 96295 56792 96295 96295 96295 19527 96295 
12828 30553 40825 67577 91517 77952 55631 63781 
29385 96295 96295 96295 750 96295 96295 96295 
Yes
72716304 72716304 66436933 72716304 45419040 55642613 
72716304 62712753 72716304 2...

result:

ok ok 1013 cases (1013 test cases)

Test #3:

score: 0
Accepted
time: 31ms
memory: 7056kb

input:

1111
7 4 4875072
988895277 -1 -1 -1 -1
254020497 -1 -1 4323135 3396854
988895277 4185157 341145 3608618 -1
16233727 -1 -1 -1 -1
254020497 11056 -1 1088108 1709022
16233727 -1 -1 1334067 1265037
16233727 -1 -1 -1 -1
4 2 86044173
929509241 43292045 66538315
768929945 27336311 -1
20849622 -1 11458851
2...

output:

Yes
4875072 4875072 4875072 4875072 
4875072 414930 4323135 3396854 
4185157 341145 3608618 4875072 
4875072 2808185 0 0 
11056 4875072 1088108 1709022 
4875072 209081 1334067 1265037 
4875072 2808185 0 0 
Yes
43292045 66538315 
27336311 82494048 
86044173 11458851 
86044173 23786185 
No
No
Yes
1787...

result:

ok ok 1111 cases (1111 test cases)

Test #4:

score: 0
Accepted
time: 24ms
memory: 5180kb

input:

1111
4 1 4321145
490702144 458299
284660056 -1
138628383 -1
598813561 -1
2 8 3
668536478 -1 2 -1 -1 3 -1 2 -1
753736433 -1 -1 2 -1 -1 -1 -1 -1
5 7 2886596
818960470 490915 2479956 -1 269393 1703673 274483 1984486
954760589 -1 -1 -1 -1 -1 1242359 660249
956153901 -1 2529502 -1 -1 -1 -1 2740104
954760...

output:

Yes
458299 
458298 
458297 
4321145 
Yes
3 2 3 3 3 3 2 3 
3 3 2 3 3 3 3 3 
Yes
490915 2479956 2886596 269393 1703673 274483 1984486 
2886596 2886596 2886596 2886596 2886596 1242359 660249 
2886596 2529502 2886596 2886596 2886596 2886596 2740104 
2021634 2886596 2886596 2886596 2886596 2886596 382889...

result:

ok ok 1111 cases (1111 test cases)

Test #5:

score: 0
Accepted
time: 86ms
memory: 22016kb

input:

1
100000 4 1000000000
60 -1 -1 -1 -1
86 -1 944106300 988594490 -1
20 990531523 995024780 -1 973269210
28 -1 -1 970527902 956589076
23 -1 -1 -1 -1
10 -1 986897392 988002785 989069881
25 -1 995445423 999667024 944902387
89 925354637 997675637 996571399 -1
72 -1 -1 -1 998653307
57 -1 -1 -1 953746873
1 ...

output:

Yes
1000000000 1000000000 1000000000 890401582 
1000000000 944106300 988594490 957701051 
990531523 995024780 931575703 973269210 
1000000000 963284320 970527902 956589076 
1000000000 1000000000 1000000000 890401272 
926431008 986897392 988002785 989069881 
950386447 995445423 999667024 944902387 
9...

result:

ok ok 1 cases (1 test case)

Test #6:

score: 0
Accepted
time: 74ms
memory: 20760kb

input:

1
100000 4 1000000000
782 -1 -1 -1 947277126
7463 911868853 663066601 304654319 956097480
7026 543996878 -1 -1 -1
9977 -1 -1 -1 -1
4163 -1 -1 974553368 997656454
2087 -1 965058038 846071376 284559395
2860 939952548 -1 855300200 833962513
4460 -1 -1 -1 -1
9015 937803884 -1 -1 226210831
1049 992111579...

output:

Yes
1000000000 888343153 0 947277126 
911868853 663066601 304654319 956097480 
543996878 1000000000 1000000000 291685888 
1000000000 1000000000 835712092 0 
863444294 0 974553368 997656454 
739944590 965058038 846071376 284559395 
939952548 206425825 855300200 833962513 
1000000000 1000000000 835657...

result:

ok ok 1 cases (1 test case)

Test #7:

score: 0
Accepted
time: 83ms
memory: 22504kb

input:

1
100000 4 1000000000
12343 -1 -1 163618742 -1
23008 -1 -1 80109196 -1
25158 83256587 205974683 966757544 241529041
15857 405493766 -1 471928169 -1
23206 47432606 35185749 442825875 972071673
3162 -1 531880118 -1 679347758
11309 4212902 510812429 244398710 738079965
9219 -1 377058342 168784276 46444...

output:

Yes
1000000000 333886298 163618742 0 
1000000000 417406509 80109196 0 
83256587 205974683 966757544 241529041 
405493766 620086619 471928169 0 
47432606 35185749 442825875 972071673 
286267983 531880118 0 679347758 
4212902 510812429 244398710 738079965 
905215226 377058342 168784276 46444072 
44737...

result:

ok ok 1 cases (1 test case)

Test #8:

score: 0
Accepted
time: 12ms
memory: 6008kb

input:

1
330 331 1000000000
17 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 0 -1 -1 -1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 0 0 -1 0 -1 0 0 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 0 -1 -1 0 -1 -1 0 -...

output:

Yes
1000000000 1000000000 1000000000 1000000000 0 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 10000000...

result:

ok ok 1 cases (1 test case)

Test #9:

score: 0
Accepted
time: 14ms
memory: 6000kb

input:

1
330 331 1000000000
17 946429399 987445451 11812057 978102123 215602643 18892727 79870522 412571676 1000000000 353424709 430456330 1000000000 405985858 944004524 24203548 851415355 97745912 13615759 362558277 173680958 689298756 221029170 725082203 81224466 16747894 1000000000 1000000000 826943001 ...

output:

Yes
946429399 987445451 11812057 978102123 215602643 18892727 79870522 412571676 1000000000 353424709 430456330 1000000000 405985858 944004524 24203548 851415355 97745912 13615759 362558277 173680958 689298756 221029170 725082203 81224466 16747894 1000000000 1000000000 826943001 5521409 281072909 68...

result:

ok ok 1 cases (1 test case)

Test #10:

score: 0
Accepted
time: 14ms
memory: 6020kb

input:

1
330 331 1000000000
93 1000000000 957480495 1000000000 954239930 999999387 817203596 128888131 1000000000 395767152 893779444 1000000000 1000000000 999999280 1000000000 512807103 1000000000 1000000000 815708342 624663854 3711760 402990567 485458597 875421915 999749540 192329441 302790028 950609494 ...

output:

Yes
1000000000 957480495 1000000000 954239930 999999387 817203596 128888131 1000000000 395767152 893779444 1000000000 1000000000 999999280 1000000000 512807103 1000000000 1000000000 815708342 624663854 3711760 402990567 485458597 875421915 999749540 192329441 302790028 950609494 294653401 102935655 ...

result:

ok ok 1 cases (1 test case)

Test #11:

score: 0
Accepted
time: 45ms
memory: 10044kb

input:

1
10 40000 1000000000
1 1000000000 -1 -1 7508585 1000000000 1000000000 1000000000 604390543 -1 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 901948669 1000000000 794014234 1000000000 -1 -1 1000000000 1000000000 857845945 817246643 1000000000 -1 1000000000 1000000000 10...

output:

Yes
1000000000 1000000000 1000000000 7508585 1000000000 1000000000 1000000000 604390543 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 901948669 1000000000 794014234 1000000000 1000000000 1000000000 1000000000 1000000000 857845945 817246643 1000000000 1000000...

result:

ok ok 1 cases (1 test case)

Test #12:

score: 0
Accepted
time: 51ms
memory: 9788kb

input:

1
10 40000 1000000000
6 1000000000 1000000000 906478621 13209691 922818115 77559562 438363123 591871569 848893630 102398661 534268791 178087467 686311759 601080260 123177170 514948894 494568232 115297150 440603707 273127320 1000000000 662873117 15207013 148894259 947428836 393166189 952301343 508048...

output:

Yes
1000000000 1000000000 906478621 13209691 922818115 77559562 438363123 591871569 848893630 102398661 534268791 178087467 686311759 601080260 123177170 514948894 494568232 115297150 440603707 273127320 1000000000 662873117 15207013 148894259 947428836 393166189 952301343 50804815 131098501 8667868...

result:

ok ok 1 cases (1 test case)

Test #13:

score: 0
Accepted
time: 43ms
memory: 10072kb

input:

1
10 40000 1000000000
4 0 372110345 49491905 239373904 0 0 698435066 0 989414051 0 0 0 800769773 0 0 24299236 0 939825010 890065504 48152345 0 467166947 750051791 821016755 0 120129636 0 263963291 0 0 312914024 149064941 870472040 0 0 0 0 594433737 135980261 0 303039534 250195779 259062916 753648254...

output:

Yes
0 372110345 49491905 239373904 0 0 698435066 0 989414051 0 0 0 800769773 0 0 24299236 0 939825010 890065504 48152345 0 467166947 750051791 821016755 0 120129636 0 263963291 0 0 312914024 149064941 870472040 0 0 0 0 594433737 135980261 0 303039534 250195779 259062916 753648254 0 45469080 14951577...

result:

ok ok 1 cases (1 test case)

Extra Test:

score: 0
Extra Test Passed