Pagini recente » Cod sursa (job #886674) | Cod sursa (job #2420913) | Cod sursa (job #50147) | Cod sursa (job #2229818) | Cod sursa (job #802017)
Cod sursa(job #802017)
#include<cstdio>
#include<cstdlib>
#include<ctime>
#include<cstring>
long long v[50005];
char p[50005];
char str[400000];
int n;
int main()
{
srand (time (NULL));
freopen ("semne.in","r",stdin);
freopen ("semne.out","w",stdout);
long long s,c=0;
scanf ("%d%lld\n",&n,&s);
gets (str);
char *ss=strtok (str," ");
for(int i=0;i<n;i++){
v[i]=atoi (ss);
ss=strtok (NULL," ");
if(c<s)
c+=v[i],p[i]=1;
else
c-=v[i],p[i]=0;
}
while(s!=c){
int r=((rand()>>16)+rand())%n;
if(c<s&&!p[r])
c+=v[r]*2,p[r]=!p[r];
else if(c>s&&p[r])
c-=v[r]*2,p[r]=p[r];
}
for(int i=0;i<n;i++)
p[i]=p[i]?'+':'-';
puts (p);
return 0;
}