Cod sursa(job #130830)
Utilizator | Data | 2 februarie 2008 10:30:57 | |
---|---|---|---|
Problema | Sum | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.48 kb |
#include<iostream.h>
#include<stdio.h>
#include<math.h>
int main()
{ int n,i,j,k,p,v[25000],x;
freopen("sume.in", "rt", stdin);
freopen("sume.out", "wt", stdout);
cin>>p;
if(sqrt(1+8*p)!=(int)sqrt(1+8*p)) cout<<-1<<endl;
else
{n=(1+sqrt(1+8*p))/2; cout<<n<<endl;
for( i=1;i<=p;i++)
cin>>v[i];
for(i=j=1,k=n-1;i<n;i++,k--)
{ x=(v[j]+v[j+1]-v[j+k])/2; cout<<x<<' ';
j+=k;
}
cout<<v[p]-x<<endl;
}
return 0;
}