ამ გვერდზე თქვენ იხილავთ გაგზავნილი ამოხსნების სტატუსს.
გაგზავნის თარიღი: 07.12.2019 06:04:03
ამოცანა: მდგრადი რიცხვები
მომხმარებელი: Tariel_D
ვერდიქტი: ნაწილობრივი ამოხსნა
შეფასება: 87.1 ქულა
#include <bits/stdc++.h> using namespace std; string st,x="0"; int n,a,b,g,h,y,j,t,sim,sum=0,sam=0; int func(int s[]){a=0;b=0; for(int i=0;i<n;i++){ if(i%2==0)a+=s[i]; else b+=s[i]; } return a-b;} int one(int s[]){for(j=n-1;j>=0;j-=2){ while(s[j-1]!=9){ if(func(s)==0){for(int i=0;i<n;i++) cout<<s[i]; return 0;}else{s[j-1]+=1;}}}} int sec(int s[]){ for(j=n-1;j>=0;j-=2){while(s[j]!=9){ if(func(s)==0){for(int i=0;i<n;i++)cout<<s[i];return 0;}else{s[j]+=1;} }} } int main() { cin>>x;n=x.size();int num=n;if(n<3&&stoi(x)<11){cout<<"11";return 0;} int s[n+1];s[n]=0; for(int i=0;i<n;i++){ s[i]=x[i]-'0';} t=func(s);if(t==0&&(s[n-1]!=9||s[n-2]!=9)){if(s[n-1]!=9){s[n-1]++;}else{s[n-2]++;s[n-1]=0;}t=func(s);} while(s[num-1]>8&&num!=0){s[num-1]=0;num--; } if(s[n-2]==9&&s[n-3]==9&&n%2==1&&func(s)>0){n+=1; for(int i=n-1;i>=0;i--){ s[i]=0;s[0]=1; }} if(num==0){n++; for(int i=0;i<n;i++){ s[i+1]=s[i];s[0]=1;}} if(t<0&&n%2==0){ for(j=n-1;j>=0;j-=2){ if(s[j-1]!=9){; sum=sum+((9-s[j-1])+s[j]+sam); sam=0;sim=sum; } else{sam+=s[j]+sim;sim=0;if(sam>t&&s[j-2]!=9){j-=1;break;}} if(abs(t)<=sum){break;} } s[j-1]+=1; for(int i=j;i<n;i++) s[i]=0; } t=func(s); if(t>0&&n%2==0){ for(j=n-1;j>=0;j-=2){ if(s[j]!=9){ sum=sum+((9-s[j])+s[j+1]+sam);sam=0;sim=sum; } else{sam+=s[j+1]+sim;sim=0;if(sam>abs(t)&&s[j-1]!=9){j-=1;break;}} if(abs(t)<=sum){break;} } s[j]+=1; for(int i=j+1;i<n;i++) s[i]=0;} t=func(s); if(t<0&&n%2==1){ for(j=n-1;j>=0;j-=2){ if(s[j]!=9){ sum=sum+((9-s[j])+s[j+1]+sam);sam=0; sim=sum; } else{sam+=s[j+1]+sim;sim=0;if(sam>abs(t)&&s[j-1]!=9){j-=1;break;}} if(abs(t)<=sum){break;} } s[j]+=1; for(int i=j+1;i<n;i++) s[i]=0;} if(t>0&&n%2==1){ for(j=n-1;j>=0;j-=2){ if(s[j-1]!=9){ sum=sum+((9-s[j-1])+s[j]+sam);sam=0;sim=sum; } else{sam+=s[j]+sim;sim=0;if(sam>t&&s[j-2]!=9){j-=1;break;}} if(abs(t)<=sum){break;} } s[j-1]+=1; for(int i=j;i<n;i++) s[i]=0;} t=func(s); if(t==0){ for(int i=0;i<n;i++)cout<<s[i];return 0;} if(t<0&&n%2==1)sec(s); if(t>0&&n%2==1)one(s); if(t<0&&n%2==0)one(s); if(t>0&&n%2==0)sec(s); return 0; }
123123
123134
123134
YES
99
110
110
YES
1
11
11
YES
2
11
11
YES
3
11
11
YES
4
11
11
YES
5
11
11
YES
6
11
11
YES
7
11
11
YES
8
11
11
YES
9
11
11
YES
10
11
11
YES
11
22
22
YES
619
660
660
YES
8167253890456846827551835118017699792116426782018900602401668587144973109215811352126712204864337281
8167253890456846827551835118017699792116426782018900602401668587144973109215811352126712204865080909
8167253890456846827551835118017699792116426782018900602401668587144973109215811352126712204865080909
YES
14466781985278714008910624805650767209409627878840796238
14466781985278714008910624805650767209409627878841030909
14466781985278714008910624805650767209409627878841030909
YES
2078810890756832510798771894903814113342992982593020940554289510384414987753113770174632723807785777
2078810890756832510798771894903814113342992982593020940554289510384414987753113770174632723807786020
2078810890756832510798771894903814113342992982593020940554289510384414987753113770174632723807786020
YES
38945555056733722538582257999520113179987970
38945555056733722538582257999520113179987990
38945555056733722538582257999520113179987990
YES
9158598609532854768148511064023614817440183926950518183508356022471380018116779481463797334287317679
9158598609532854768148511064023614817440183926950518183508356022471380018116779481463797334287318050
9158598609532854768148511064023614817440183926950518183508356022471380018116779481463797334287402090
NO
52201979945321303367619830844976742826673406359430400540
52201979945321303367619830844976742826673406359430400548
52201979945321303367619830844976742826673406359430400548
YES
1327129276228158704298009170021309394485042909201945710674791281386140634856349383245749130178250365
1327129276228158704298009170021309394485042909201945710674791281386140634856349383245749130178252090
1327129276228158704298009170021309394485042909201945710674791281386140634856349383245749130178252090
YES
9095045321088600940877238315861935488045600762934290925275523130966686865415193074
9095045321088600940877238315861935488045600762934290925275523130966686870809090909
9095045321088600940877238315861935488045600762934290925275523130966689895919090909
NO
8796421028667494155623773798161950260598643793918745264166058029751020374919452858165315162606248861
8796421028667494155623773798161950260598643793918745264166058029751020374919452858165315167090909090
8796421028667494155623773798161950260598643793918745264166058029751020374919452858165315167090909090
YES
161114540018032
161114540018509
161114540018509
YES
8493335687604267801730196204884650570347662999593111008337970213239548247363152784538914194129090949
8493335687604267801730196204884650570347662999593111008337970213239548247363152784538914194129106090
8493335687604267801730196204884650570347662999593111008337970213239548247363152784538914194129106090
YES
1124174297947468434546865256366064717577754367230482587909280690172
1124174297947468434546865256366064717577754367230482587909280690173
1124174297947468434546865256366064717577754367230482587909280690173
YES
6274612615791371009780781544578806257081537129451373190515160042895792384626664523786200760674130182
6274612615791371009780781544578806257081537129451373190515160042895792384626664523786200760674135090
6274612615791371009780781544578806257081537129451373190515160042895792384626664523786200760674135090
YES
1708412201
1708413080
1708413080
YES
3835256530502020471913449100736317984795983070678779737215386728018664765187266293754125421139889392
3835256530502020471913449100736317984795983070678779737215386728018664765187266293754125421139890609
3835256530502020471913449100736317984795983070678779737215386728018664765187266293754125421139890609
YES
788783652994607803012308331209255402624407864138759580391338253374083221501889840214519600020779075
788783652994607803012308331209255402624407864138759580391338253374083221501889840214519600021060909
788783652994607803012308331209255402624407864138759580391338253374083221501889840214519600021060909
YES
2667274490190966012540963997831129440606709309092082120081862855290993733410402202057219037595493923
2667274490190966012540963997831129440606709309092082120081862855290993733410402202057219038080909090
2667274490190966012540963997831129440606709309092082120081862855290993733410402202057219439690909090
NO
7004621822281698215713769768104673720948516019567818
7004621822281698215713769768104673720948516019568080
7004621822281698215713769768104673720948516019568080
YES
7935161272198202972393433244007653063502622253068939607372909046925936171621499965442701897786657710
7935161272198202972393433244007653063502622253068939607372909046925936171621499965442701897786657721
7935161272198202972393433244007653063502622253068939607372909046925936171621499965442701897786657721
YES
888528863035257989217970
888528863035257989217981
888528863035257989217981
YES
4258893099945377880796977056374770173093707835116770260089646650126816423934467759272254420212874437
4258893099945377880796977056374770173093707835116770260089646650126816423934467759272254420212874448
4258893099945377880796977056374770173093707835116770260089646650126816423934467759272254420212874448
YES
24174217804
24174217815
24174217815
YES
5401034278741210605468979955398184310082161222764821341529264420796199743025151068745113252854632552
5401034278741210605468979955398184310082161222764821341529264420796199743025151068745113252854632563
5401034278741210605468979955398184310082161222764821341529264420796199743025151068745113252854632563
YES
6437764917280824391996970093751388090018248149306970235353116211303090909
6437764917280824391996970093751388090018248149306970235353116211304080909
6437764917280824391996970093751388090018248149306970235353116211304080909
YES
7957609578728328452625515027163549039239736825679110409312520005949379171030509167057067278004190709
7957609578728328452625515027163549039239736825679110409312520005949379171030509167057067278004190808
7957609578728328452625515027163549039239736825679110409312520005949379171030509167057067278004190808
YES
4668379898647794477291701159771300347674047563579226947644770541925708038509090
4668379898647794477291701159771300347674047563579226947644770541925708038608090
4668379898647794477291701159771300347674047563579226947644770541925708038608090
YES
5120008259986066838716483272692171807230667424475574098118142856066717392000069350045529181750961290
5120008259986066838716483272692171807230667424475574098118142856066717392000069350045529181750962060
5120008259986066838716483272692171807230667424475574098118142856066717392000069350045529181750962390
NO
897049502831644239
897049502831644305
897049502831644305
YES
1274023122322835428123334039252349246798084482718131566203019854587987926212316596819518518896090909
1274023122322835428123334039252349246798084482718131566203019854587987926212316596819518518897080909
1274023122322835428123334039252349246798084482718131566203019854587987926212316596819518518897080909
YES
795653646005076124754839482756984139258832682898420054402840809090
795653646005076124754839482756984139258832682898420054402840908090
795653646005076124754839482756984139258832682898420054402840909190
NO
4987926139464219797455362613749515120937261847344133795283878038474627445602844778000996945090909090
4987926139464219797455362613749515120937261847344133795283878038474627445602844778000996946080909090
4987926139464219797455362613749515120937261847344133795283878038474627445602844778000996946090909190
NO
4976847868069232209100549631901414460089094680455663433113248117281313767723693470730246591583041
4976847868069232209100549631901414460089094680455663433113248117281313767723693470730246591583052
4976847868069232209100549631901414460089094680455663433113248117281313767723693470730246591583052
YES
4538163538674601020705549606197211197418923865421164412997132305159642355181394531516739909090909090
4538163538674601020705549606197211197418923865421164412997132305159642355181394531516740008090909090
4538163538674601020705549606197211197418923865421164412997132305159642355181394531516749909090909190
NO
58927486090
58927487080
58927487080
YES
9372905529907338681257213731874085088554873605944661815561762953253241793576362341227648654932010909
9372905529907338681257213731874085088554873605944661815561762953253241793576362341227648654932020809
9372905529907338681257213731874085088554873605944661815561762953253241793576362341227648654932020809
YES
9455279583090
9455279584080
9455279584080
YES
8814163616553891084963448072387040190857877397820871060010833679168598189680607737299996976123616321
8814163616553891084963448072387040190857877397820871060010833679168598189680607737299996976123616332
8814163616553891084963448072387040190857877397820871060010833679168598189680607737299996976123616332
YES
259513754867740810223670981014654378810449059498555
259513754867740810223670981014654378810449059498566
259513754867740810223670981014654378810449059498566
YES
5207195790050234697721405157172981201300956092722931220462703239460708077641499420652656821250065090
5207195790050234697721405157172981201300956092722931220462703239460708077641499420652656821250066080
5207195790050234697721405157172981201300956092722931220462703239460708077641499420652656821250066190
NO
909090
909909
909909
YES
9090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090
9090909090909090909090909090909090909090909090909108090909090909090909090909090909090909090909090909
9090909090909090909090909090909090909090909090909108090909090909090909090909090909090909090909090909
YES
9090909090909090909090909090909090909090909090909000000000000000000000000000000000000000000000000000
9090909090909090909090909090909090909090909090909009090909090909090909090909090909090909090909090909
9090909090909090909090909090909090909090909090909009090909090909090909090909090909090909090909090909
YES
909090909090909090909090909090909090909090909090900000000000000000000000000000000000000000000000000
909090909090909090909090909090909090909090909090990909090909090909090909090909090909090909090909090
909090909090909090909090909090909090909090909090990909090909090909090909090909090909090909090909090
YES
9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010
10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010
YES
999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
YES
9898
9900
9900
YES
19910
19921
19921
YES
120987
121000
121000
YES
109995
110000
110000
YES
2532302011291246914913571384281450474389857042095
2532302011291246914913571384281450474389857042100
2532302011291246914913571384281450474389857042100
YES
7076577387593552108683533277646874585819196
7076577387593552108683533277646874585829090
7076577387593552108683533277646874585829090
YES
949451958919734
949451959909090
949451959909090
YES
51954110796019197
51954110796029090
51954110796029090
YES
809110581249194
809110581259090
809110581259090
YES
991
1001
1001
YES
5979793792231539040270589090
5979793792231539040270600090
5979793792231539040270689190
NO