QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#618638 | #8790. First Billion | ucup-team134# | TL | 300ms | 4136kb | C++17 | 1.3kb | 2024-10-07 01:19:33 | 2024-10-07 01:19:34 |
Judging History
answer
#include <bits/stdc++.h>
#define ll long long
#define pb push_back
#define f first
#define s second
#define sz(x) (int)(x).size()
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define ios ios_base::sync_with_stdio(false);cin.tie(NULL)
#define ld long double
#define li __int128
using namespace std;
mt19937 rng(time(NULL));
int main()
{
int n;
scanf("%i",&n);
vector<bool> in(n);
int sm=0;
vector<int> c(n);
for(int i=0;i<n;i++){
scanf("%i",&c[i]);
}
while(1){
fill(all(in),0);
sm=0;
for(int i=0;i<n/2;i++){
int x=rng()%n;
while(in[x])x=rng()%n;
in[x]=1;
sm+=c[x];
}
int treba=1e9;
vector<int> aa,bb;
while(1){
aa.clear(),bb.clear();
for(int i=0;i<n;i++){
if(in[i])aa.pb(i);
else bb.pb(i);
}
pair<int,int> sta={-1,-1};
int bst=abs(sm-treba);
for(auto a:aa)for(auto b:bb){
int ns=sm-c[a]+c[b];
int xx=abs(ns-treba);
if(xx<bst){
bst=xx;
sta={a,b};
}
}
if(sta.f==-1)break;
in[sta.f]=0;
in[sta.s]=1;
sm-=c[sta.f];
sm+=c[sta.s];
if(bst==0){
printf("%i",n/2);
for(int i=0;i<n;i++){
if(in[i]){
printf(" %i",i+1);
}
}
printf("\n");
return 0;
}
}
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3860kb
input:
10 386413329 88494216 245947398 316438989 192751270 204627269 65749456 3938400 150458676 345180997
output:
5 1 5 6 7 9
result:
ok OK (n = 10)
Test #2:
score: 0
Accepted
time: 0ms
memory: 3836kb
input:
10 119486233 299942886 169540407 349937991 597883752 32230162 140514533 57341098 12602102 220520836
output:
5 2 5 6 8 9
result:
ok OK (n = 10)
Test #3:
score: 0
Accepted
time: 0ms
memory: 3916kb
input:
14 384615281 84612238 83310504 54746763 142296081 56775470 128760350 343006424 177232390 214368720 67220468 21895072 16352717 224807522
output:
7 1 6 7 9 10 12 13
result:
ok OK (n = 14)
Test #4:
score: 0
Accepted
time: 0ms
memory: 3868kb
input:
14 270208635 14270307 89661499 113578022 47687195 101043954 38775146 208193324 650676076 351701957 3427619 59535626 24230888 27009752
output:
7 1 2 3 4 6 10 12
result:
ok OK (n = 14)
Test #5:
score: 0
Accepted
time: 1ms
memory: 3860kb
input:
20 61638928 106712373 5946815 178135484 4937573 111395400 15504655 67139983 101814514 312223647 130341028 43244171 37671364 54108486 337181317 37924824 153793862 70383750 102917244 66984582
output:
10 4 5 8 9 10 11 12 13 14 18
result:
ok OK (n = 20)
Test #6:
score: 0
Accepted
time: 1ms
memory: 3860kb
input:
20 67858098 61231428 99398662 1883806 82465954 303619377 87516412 154956240 94872199 76508350 13276828 136541811 203282099 99160366 127539385 13364660 141176136 39751629 67888657 127707903
output:
10 1 3 4 5 8 11 12 13 14 17
result:
ok OK (n = 20)
Test #7:
score: 0
Accepted
time: 1ms
memory: 3836kb
input:
24 17125795 281143405 10375259 196293002 158174864 34520650 52919232 87393970 99085271 62281508 67168428 55174991 54533464 51393059 89276370 41441658 72793517 30466999 73758332 97064918 111541434 142047546 12934221 101092107
output:
12 3 4 5 10 13 15 17 18 19 20 22 23
result:
ok OK (n = 24)
Test #8:
score: 0
Accepted
time: 12ms
memory: 4088kb
input:
24 70224368 148769600 36654748 23404220 15009825 57449487 46896672 6065662 10377031 133719710 23220853 184445684 8462667 88501546 155244839 229323557 140109402 52520271 78995771 75721556 87987586 118427778 107013825 101453342
output:
12 1 3 5 7 10 11 12 17 19 20 21 23
result:
ok OK (n = 24)
Test #9:
score: 0
Accepted
time: 19ms
memory: 4136kb
input:
28 122321206 60841271 22767116 183943582 6247754 32767541 19129802 21313874 144503909 59360441 12259051 19044256 50267333 25766572 133411289 32253746 102412217 46186594 55413161 39907615 52325783 86862071 185310732 138228874 22000146 149813853 98156445 77183766
output:
14 3 7 9 10 13 14 19 20 21 22 23 24 25 27
result:
ok OK (n = 28)
Test #10:
score: 0
Accepted
time: 43ms
memory: 3836kb
input:
28 213829745 40823140 14876795 22548901 35958464 159026037 106482651 52655603 76733934 102794554 100713772 80174862 125840182 3619651 74158077 27699586 14743901 68385227 55117143 39623241 67325444 95072408 46052588 46086093 11650160 66077724 149558313 102371804
output:
14 1 2 4 7 8 9 12 14 15 18 23 24 26 28
result:
ok OK (n = 28)
Test #11:
score: 0
Accepted
time: 41ms
memory: 3936kb
input:
30 38319400 42378812 172927254 71697590 118171420 5615707 8117586 107362865 18142211 89646810 51847201 37450061 138487251 116358215 15432103 13621837 15084921 15012145 42848714 71166566 37074067 11354748 10702902 244865332 41244161 102695984 217681174 21564320 89607508 33521135
output:
15 2 3 5 6 11 12 14 16 18 20 21 23 24 25 28
result:
ok OK (n = 30)
Test #12:
score: 0
Accepted
time: 42ms
memory: 3856kb
input:
30 239221492 41835739 80260950 47743386 50052259 31410042 1676838 63813733 47622772 150506632 188312503 190432229 6783832 111319580 122183547 37258127 12116231 29322396 58095114 47089744 9262724 204673438 11840273 64585542 11797425 4134848 56164171 30717831 46921664 2844938
output:
15 4 5 7 8 11 12 14 15 16 17 18 20 25 27 28
result:
ok OK (n = 30)
Test #13:
score: 0
Accepted
time: 133ms
memory: 3832kb
input:
30 52710609 39033241 15723499 29898108 62692739 138885388 137151511 90118964 15492963 61261380 35071118 195401367 64471367 39372151 70235925 114596786 27917908 29285928 11044525 11941155 12716377 1533910 24799365 265236184 104128755 17709404 4856890 204911218 17131655 104669610
output:
15 1 2 3 7 9 10 12 14 15 16 17 20 21 22 28
result:
ok OK (n = 30)
Test #14:
score: 0
Accepted
time: 87ms
memory: 3840kb
input:
30 71176974 17279544 55258168 53966156 72625891 26990484 32947301 24238341 23523054 74032236 11115471 37748780 197790571 37391026 97632202 141185045 78244645 55562875 112526424 172476633 23788890 38112613 43056490 59434820 126859036 3192138 33541518 45692823 37948025 194661826
output:
15 1 3 4 5 9 11 12 15 19 21 22 23 25 29 30
result:
ok OK (n = 30)
Test #15:
score: 0
Accepted
time: 300ms
memory: 3840kb
input:
30 14207343 153611578 16683105 27989436 25086738 33243492 111638179 47972430 19637539 35808627 12134813 60480737 68270077 122259678 37288938 86244354 36408417 58808264 33320672 9412909 176141849 93548029 55980295 128091293 13973554 27108753 77442637 246155003 18397254 152654007
output:
15 3 6 7 8 9 12 15 16 17 19 20 23 24 27 28
result:
ok OK (n = 30)
Test #16:
score: 0
Accepted
time: 191ms
memory: 3868kb
input:
34 56158267 5346691 37606439 26760105 123601340 44674017 43239382 23064728 175228414 72881379 25027579 73516264 13748174 69400907 47140260 105416679 45175827 129325284 14737537 147069844 84833847 91264478 15805185 5872801 60910166 8127595 87459162 153141045 24930343 27343635 11563194 56545951 773088...
output:
17 3 5 6 8 9 11 12 15 16 17 19 20 21 24 26 30 31
result:
ok OK (n = 34)
Test #17:
score: 0
Accepted
time: 146ms
memory: 3792kb
input:
34 6553507 21827844 163114470 285889880 111444346 91096849 9875033 155790401 48814749 32707381 4390111 3512692 227551194 24852373 35077911 52304487 14043961 21718427 153749785 10890230 81276988 24039619 19484842 19224458 60528342 80892446 43482284 3024810 18734584 44556796 18825186 16762113 91529698...
output:
17 2 4 5 6 7 8 12 16 17 20 25 26 28 29 30 31 32
result:
ok OK (n = 34)
Test #18:
score: 0
Accepted
time: 45ms
memory: 3792kb
input:
34 6510953 149563269 90208590 17087264 54154081 48557639 30119336 148147082 30167332 41026594 23352774 7503341 127871531 56098411 30309985 90903962 20775544 12444200 23139566 173775423 39698044 23256886 32599474 19795212 62981178 43614848 71114165 138887136 8874281 1542445 96191893 14339496 11492279...
output:
17 1 6 8 9 14 16 17 18 20 23 24 26 27 28 29 30 31
result:
ok OK (n = 34)
Test #19:
score: -100
Time Limit Exceeded
input:
34 76165834 52107905 64590881 31631692 6704569 151480738 146750957 43792305 11263200 3762351 55603212 9648993 8323006 63561211 39768967 5565808 18484315 47155971 95389177 39661235 158388679 115049517 90536356 16230 36970573 69805600 69394080 162875090 33332306 141161983 59599679 47506416 36779765 71...