Pagini recente » Cod sursa (job #82828) | Cod sursa (job #2211289) | Cod sursa (job #185438) | Cod sursa (job #822074) | Cod sursa (job #82879)
Cod sursa(job #82879)
#include<stdio.h>
#include<math.h>
#include<iostream.h>
#include<stdlib.h>
long s, v[50002], n, semn[50002], suma, suma2;
int main()
{
freopen("semne.in","r",stdin);
freopen("semne.out","w",stdout);
scanf("%ld %ld", &n, &s);
long long i, j, ok=0, x;
suma=0;
for (i=1; i<=n; i++) scanf("%ld",&v[i]), semn[i]=1, suma+=v[i];
while (suma!=s)
{
for (i=1; i<=n; i++)
{
x=rand()%(n+1);
if (semn[x]==1)
{ if (abs(suma-2*v[x]-s)<abs(suma-s)) suma-=2*v[x], semn[x]=0; }
else if (semn[x]==0)
if (abs(suma+2*v[x]-s)<abs(suma-s)) suma+=2*v[x], semn[x]=1;
}
}
for (i=1; i<=n; i++)
if (semn[i]==1)
printf("+");
else printf("-");
return 0;
}