Pagini recente » Cod sursa (job #2068860) | Cod sursa (job #1098375) | Cod sursa (job #1713473) | Cod sursa (job #2605300) | Cod sursa (job #82966)
Cod sursa(job #82966)
#include<stdio.h>
#include<math.h>
#include<iostream>
#include<stdlib.h>
long long s, v[50002], n, semn[50002], suma, lista[50002];
int main()
{
freopen("semne.in","r",stdin);
freopen("semne.out","w",stdout);
scanf("%lld %lld", &n, &s);
long long i, x;
for (i=0; i<n; i++){ scanf("%lld",&v[i]), semn[i]=rand(%2); if (semn[i]==0) suma+=v[i]; else suma-=v[i];}
srand(time(0));
while (suma!=s)
{
x=rand()%n;
if (lista[x]==-1) {if ((suma <s && semn[x]==1 ) || (suma>s && semn[x]==0)) lista[x]=0; }
if (lista[x]==0)
{
if (suma<s && semn[x]==1) suma+=(v[x]<<1), semn[x]=0, lista[i]=-1;
else if (suma>s && semn[x]==0) suma-=(v[x]<<1), semn[x]=1, lista[i]=-1;
}
}
for (i=0; i<n; i++)
if (semn[i]==0)
printf("+");
else printf("-");
return 0;
}