Append Sort - Code Jam (codingcompetitions.withgoogle.com)
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define lld long double
//-4%3=-1]
//.size() return unsigned int so never use i<v.size()-1 in loop
int main() {
// your code goes here
ios_base::sync_with_stdio(false);
cin.tie(NULL);
ll T;
cin>>T;
for(int t=1;t<=T;t++)
{
int n;
cin>>n;
vector <ll> v2;
for(int i=0;i<n;i++)
{
int num;
cin>>num;
//v1.push_back(to_string(num));
v2.push_back(num);
}
int ans=0;
for(int i=1;i<n;i++)
{
//cout<<i<<"\n";
if(v2[i]>v2[i-1])
{}
else if(v2[i]==v2[i-1])
{
ans++;
v2[i]*=10;
}
else
{
int val1=v2[i-1];
val1++;
int val2=v2[i],cnt=0;
while(val2<=v2[i-1])
{
val2*=10;
cnt++;
}
string s1=to_string(v2[i]);
string s2=to_string(val1);
int ptr=0;
for(int j=0;j<s1.size();j++)
if(s1[j]!=s2[j])
{
ptr=1;
break;
}
if(ptr)
{
v2[i]=val2;
ans+=cnt;
}
else
{
v2[i]=val1;
ans+=s2.size()-s1.size();
}
}
}
cout<<"Case #"<<t<<": "<<ans<<"\n";
// for(int i=0;i<n;i++)
// cout<<v2[i]<<" ";
// cout<<"\n";
}
}
Why this is giving TLE for 2nd part ? Any TC for that?
@ssjgz