Pagini recente » Cod sursa (job #2952609) | Cod sursa (job #2735549) | Cod sursa (job #1146358) | Cod sursa (job #137978) | Cod sursa (job #2060271)
#include <bits/stdc++.h>
#define MaxN 50005
#define MOD 666013
#define INF 2140000000
using namespace std;
FILE *IN,*OUT;
long long S=0,Q;
int v[MaxN],N;
bool sign[MaxN];
int main()
{
IN=fopen("semne.in","r");
OUT=fopen("semne.out","w");
srand(time(NULL));
fscanf(IN,"%d%lld",&N,&Q);
for(int i=1;i<=N;i++)
fscanf(IN,"%d",&v[i]);
for(int i=1;i<=N;i++)
{
sign[i]=rand()&1;
if(sign[i])
S+=v[i];
else S-=v[i];
}
while(S!=Q)
{
int pos=rand()%N+1;
while(sign[pos]&&S<Q)
pos=rand()%N+1;
while(!sign[pos]&&S>Q)
pos=rand()%N+1;
if(sign[pos])
S-=v[pos]<<1;
else S+=v[pos]<<1;
sign[pos]^=1;
}
for(int i=1;i<=N;i++)
{
if(sign[i])fprintf(OUT,"+");
else fprintf(OUT,"-");
}
return 0;
}