Re: 10013 - Super Long Sums
Posted: Fri May 30, 2008 8:06 am
ac
Code: Select all
scanf("%c%c%c",&a[k],&ch,&b[k]); should be replaced with
scanf(" %c %c %c",&a[k],&ch,&b[k]);
Code: Select all
#include <iostream>
#include <time.h>
#include <sstream>
#include <algorithm>
using namespace std;
int main() {
int cases = 0, digits = 0;
ostringstream s;
int v[1000010];
//clock_t start, end;
//start = clock();
cin >> cases;
while ( cases --> 0 ) {
cin >> digits;
int a, b;
for ( int i = 0; i < digits; i++ ) {
cin >> a >> b;
v[i] = a + b;
}
ostringstream s2;
for ( int i = digits - 1; i >= 0; i-- ) {
if ( v[i] >= 10 ) {
v[i - 1]++;
v[i] -= 10;
}
s2 << v[i];
}
string s2_rev = s2.str();
reverse(s2_rev.begin(), s2_rev.end());
s << s2_rev << endl;
if ( cases >= 1 ) s << endl;
}
cout << s.str();
//end = clock();
//printf ("%f seconds\n", ((float)end - (float)start) / 1000000.0F);
return 0;
}
Code: Select all
Removed After AC
Code: Select all
Removed After AC
Code: Select all
printf("\n\n");
Good luckThere is a blank line between output blocks.
Code: Select all
#include<stdio.h>
#include<memory.h>
int sum[1000002];
int main()
{
int i,ndigit,a,b,ncount;
int c,count=1;
scanf("%d",&ncount);
while(count<=ncount)
{
memset(sum,0,sizeof(sum));
scanf("\n\n%d",&ndigit);
for(i=0;i<ndigit;i++)
{
scanf("\n%d %d",&a,&b);
c=0;
sum[i]=a+b;
}
for(i=ndigit-1;i>0;i--)
{
sum[i]=sum[i]+c;
if(sum[i]>=10){
c=1;
sum[i]=sum[i]%10;
}
else
c=0;
}
sum[i]=sum[i]+c;
for(i=0;i<ndigit;i++)
{
printf("%d",sum[i]);
}
if(count<ncount)
printf("\n\n");
count++;
}
return 0;
}
Code: Select all
if(count<ncount)
printf("\n\n");
Code: Select all
if(count<ncount)
printf("\n\n");
else printf("\n");
choby123 wrote:Hi this is my code, can anybody tell me why is that i'm getting TLE please![]()
Code: Select all
gets(aux);
Code: Select all
vector<int> resp;
Code: Select all
if(resp[resp.size()-1]>=10)
{
resp[resp.size()-1]=resp[resp.size()-1]%10;
resp.push_back(1);
}
Code: Select all
#include <iostream>
#include <cstdlib>//10013
using namespace std;
unsigned long nums[2][1000001],n,m,carry=0;
int main()
{
cin>>n;for(int i=0;i<n;++i){cin>>m;memset(nums,0,sizeof(int)*2*1000001);
for(int j=m-1;j>=0;--j)cin>>nums[0][j]>>nums[1][j];carry=0;
for(int j=0;j<m;++j){nums[0][j]+=nums[1][j]+carry;carry = nums[0][j]/10;nums[0][j]%=10;if(carry && j==m-1)++m;}
if(i)cout<<endl;for(int j=m-1;j>=0;--j)cout<<nums[0][j];cout<<endl;}
return 0;
}