Submission #1160246
Source Code Expand
#include<iostream> #include<algorithm> #include<vector> #include<cstdio> #include<cstring> using namespace std; char s[500005]; vector<int> init,used; vector<int> addi(vector<int> a,vector<int> b) { vector<int> ans; int carry=0,tempA,tempB; int len=max(a.size(),b.size()); for(int i=0;i<len;++i){ tempA=tempB=0; if(i<a.size()) tempA=a[i]; if(i<b.size()) tempB=b[i]; if(tempA+tempB+carry>=10){ ans.push_back(tempA+tempB+carry-10); carry=1; } else{ ans.push_back(tempA+tempB+carry); carry=0; } } if(carry==1) ans.push_back(1); return ans; } int count(vector<int> a) { int result=0; for(int i=0;i<a.size();++i){ result+=a[i]; } return result; } int check(int m) { vector<int> temp; int t=m*9; while(t>0){ temp.push_back(t%10); t/=10; } if(m*9>=count(addi(used,temp))) return true; return false; } int main() { scanf("%s",s); vector<int> temp; // cout<<123456789*9<<endl; temp.push_back(9); int l=strlen(s),k=0; for(int i=l-1;i>=0;--i){ init.push_back(s[i]-'0'); } for(int i=1;i<=9;++i){ used=addi(used,init); // showHang(); } int lo=1,hi=l; while(lo<=hi){ int mi=(lo+hi)/2; if(check(mi)) { k=mi; hi=mi-1; } else lo=mi+1; } cout<<k<<endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - Increasing Numbers |
User | sieunhanbom04 |
Language | C++14 (GCC 5.4.1) |
Score | 1300 |
Code Size | 1303 Byte |
Status | AC |
Exec Time | 97 ms |
Memory | 12660 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:51:15: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%s",s); ^
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 1300 / 1300 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample1.txt, sample2.txt, sample3.txt, sample4.txt |
All | sample1.txt, sample2.txt, sample3.txt, sample4.txt, in1.txt, in10.txt, in11.txt, in12.txt, in13.txt, in14.txt, in15.txt, in16.txt, in17.txt, in18.txt, in19.txt, in2.txt, in20.txt, in21.txt, in22.txt, in23.txt, in24.txt, in25.txt, in26.txt, in27.txt, in28.txt, in29.txt, in3.txt, in30.txt, in31.txt, in4.txt, in5.txt, in500000.txt, in6.txt, in7.txt, in8.txt, in9.txt, sample1.txt, sample2.txt, sample3.txt, sample4.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
in1.txt | AC | 3 ms | 640 KB |
in10.txt | AC | 79 ms | 12564 KB |
in11.txt | AC | 79 ms | 12552 KB |
in12.txt | AC | 79 ms | 12552 KB |
in13.txt | AC | 79 ms | 12552 KB |
in14.txt | AC | 79 ms | 12552 KB |
in15.txt | AC | 78 ms | 12552 KB |
in16.txt | AC | 78 ms | 12552 KB |
in17.txt | AC | 75 ms | 12048 KB |
in18.txt | AC | 96 ms | 12552 KB |
in19.txt | AC | 93 ms | 12316 KB |
in2.txt | AC | 96 ms | 12552 KB |
in20.txt | AC | 79 ms | 12552 KB |
in21.txt | AC | 96 ms | 12552 KB |
in22.txt | AC | 96 ms | 12552 KB |
in23.txt | AC | 96 ms | 12552 KB |
in24.txt | AC | 79 ms | 12552 KB |
in25.txt | AC | 78 ms | 12564 KB |
in26.txt | AC | 94 ms | 12420 KB |
in27.txt | AC | 69 ms | 10128 KB |
in28.txt | AC | 97 ms | 12548 KB |
in29.txt | AC | 96 ms | 12552 KB |
in3.txt | AC | 96 ms | 12660 KB |
in30.txt | AC | 96 ms | 12560 KB |
in31.txt | AC | 96 ms | 12552 KB |
in4.txt | AC | 96 ms | 12552 KB |
in5.txt | AC | 78 ms | 12564 KB |
in500000.txt | AC | 79 ms | 12552 KB |
in6.txt | AC | 97 ms | 12548 KB |
in7.txt | AC | 76 ms | 10496 KB |
in8.txt | AC | 78 ms | 12396 KB |
in9.txt | AC | 78 ms | 12552 KB |
sample1.txt | AC | 1 ms | 256 KB |
sample2.txt | AC | 1 ms | 256 KB |
sample3.txt | AC | 1 ms | 256 KB |
sample4.txt | AC | 1 ms | 256 KB |