Cod sursa(job #256373)
| Utilizator | Data | 11 februarie 2009 17:45:13 | |
|---|---|---|---|
| Problema | Semne | Scor | 60 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.53 kb |
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int v[500005],x[500005],i,j,k,l,m,n,sum,s1;
int main(){
FILE *f=fopen("semne.in","r");
FILE *g=fopen("semne.out","w");
fscanf(f,"%d %d",&n,&sum);
for(i=1;i<=n;i++)
{fscanf(f,"%d",&x[i]);
s1+=x[i];
v[i-1]=1;
}
while(s1!=sum)
{k=rand()%(n-1);
v[k]*=-1;
s1+=2*x[k+1]*v[k];
}
for(i=0;i<n;i++)
if(v[i]==1)
fprintf(g,"%c",'+');
else
fprintf(g,"%c",'-');
fclose(f);
fclose(g);
return 0;}
