Pagini recente » Cod sursa (job #142502) | Cod sursa (job #2173406) | Cod sursa (job #2534421) | Istoria paginii runda/asdasdassdasd | Cod sursa (job #801769)
Cod sursa(job #801769)
#include<cstdio>
#include<cstdlib>
#include<ctime>
long long v[50005];
bool p[50005];
int n;
int randn()
{
return ((rand()>>16)+rand())%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,&s);
for(int i=0;i<n;i++)
scanf ("%lld",v+i);
for(int i=n-1;i>=0;i--){
if(c<s)
c+=v[i],p[i]=1;
else
c-=v[i],p[i]=0;
}
while(s!=c){
int r=randn();
if(c<s&&!p[r])
c+=v[r]*2,p[r]=1;
else if(c>s&&p[r])
c-=v[r]*2,p[r]=0;
}
for(int i=0;i<n;i++)
putchar (p[i]?'+':'-');
return 0;
}