Pagini recente » Cod sursa (job #2744730) | Cod sursa (job #534786) | Cod sursa (job #538529) | Cod sursa (job #2105390) | Cod sursa (job #166499)
Cod sursa(job #166499)
#include<stdio.h>
#include<stdlib.h>
#include<iostream.h>
#include<time.h>
#define NMAX 50003
long long n,s,i,var,suma;
struct multime {int semn; long long val;} a[NMAX];
// A - MULTIMEA +
// B - MULTIMEA -
long long mutare(int sign)
{
i=0;
while(a[i].semn!=sign)
i=rand()%n+1;
a[i].semn*=-1;
return a[i].val; }
int main()
{
freopen("semne.in","r",stdin);
freopen("semne.out","w",stdout);
scanf("%lld %lld",&n,&s); srand( time(NULL) );
for(i=1;i<=n;i++)
{scanf("%lld",&a[i].val); suma+=a[i].val; a[i].semn=1;}
while(suma!=s)
{
if(suma<s) {var=mutare(-1); suma+=(var<<1);}
if(suma>s) {var=mutare(1); suma-=(var<<1);}
}
for(i=1;i<=n;i++)
if(a[i].semn==1) printf("+");
else printf("-");
printf("\n"); return 0; }