Pagini recente » Cod sursa (job #2225105) | Cod sursa (job #2913976) | Cod sursa (job #2758489) | Cod sursa (job #2358099) | Cod sursa (job #724176)
Cod sursa(job #724176)
#include<stdio.h>
FILE*f=fopen("semne.in","r");
FILE*g=fopen("semne.out","w");
int n,v[50002];
long long s,sol;
char w[50002];
long long poz(long long a)
{
if(a<0)
return -a;
return a;
}
int main()
{
fscanf(f,"%d%lld",&n,&s);
for(int i=1;i<=n;++i)
fscanf(f,"%d",&v[i]);
sol;
for(int i=1;i<=n;++i)
if(sol<s)
{
sol+=v[i];
w[i]=1;
}
else
{
sol-=v[i];
}
while(sol!=s)
{
int ok=1;
for(int i=1;ok;++i)
{
if(sol<s&&!w[i])
{
sol+=2*v[i];
w[i]=1;
ok=0;
}
else if(sol>s&&w[i])
{
sol-=2*v[i];
w[i]=0;
ok=0;
}
if(sol==s)
break;
}
}
for(int i=1;i<=n;++i)
if(w[i])
fprintf(g,"+");
else
fprintf(g,"-");
fclose(f);
fclose(g);
return 0;
}