Pagini recente » Cod sursa (job #1578191) | Cod sursa (job #366733) | Cod sursa (job #1059190) | Cod sursa (job #2531248) | Cod sursa (job #69202)
Cod sursa(job #69202)
#include<stdio.h>
#include<stdlib.h>
FILE*f=fopen("semne.in","r");
FILE*g=fopen("semne.out","w");
long long a[50009],viz[50009],S,n,s;
void read()
{
long i;
fscanf(f,"%lld %lld",&n,&S);
for(i=0;i<n;++i) {
fscanf(f,"%lld",&a[i]);
viz[i]=1;
if(i%2==1) viz[i]=-1;
s+=viz[i]*a[i];}
}
void afisare()
{
long i;
for(i=0;i<n;++i)
if(viz[i]==-1) fprintf(g,"-");
else fprintf(g,"+");
}
void afisare2()
{
long i;
for(i=0;i<n;++i)
if(viz[i]==1) fprintf(g,"-");
else fprintf(g,"+");
}
void solve()
{
int ok=1;
long long x;
while(ok)
{
x=rand()%n;
viz[x]=-viz[x];
s+=2*viz[x]*a[x];
if(S==s)
{
afisare();
ok=0;
break;
}
else if (S==-s)
{
afisare2();
break;
}
}
}
int main()
{
read();
solve();
return 0;
}