Pagini recente » Cod sursa (job #251022) | Cod sursa (job #1093322) | Cod sursa (job #1256579) | Cod sursa (job #1706692) | Cod sursa (job #66241)
Cod sursa(job #66241)
using namespace std;
#define MAX_N 50005
#define MAX_V 5000005
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <fstream>
FILE *fin=fopen("semne.in","r"),
*fout=fopen("semne.out","w");
int n,i,sp,sm,s;
int a[MAX_N];
short p[MAX_V];
int main()
{
fscanf(fin,"%d %d\n",&n,&s);
memset(p,0,sizeof(p));
for (i=1; i<=n; i++)
{
fscanf(fin,"%d",a+i);
sp+=a[i]; p[a[i]]=1;
}
int c;
while (sp-sm!=s)
{
c=rand() % n;
if (sp-sm>0 && p[a[c]]==1)
{
sp-=a[c]; sm+=a[c];
p[a[c]]=0;
continue;
}
if (sp-sm<0 && p[a[c]]==0)
{
sp+=a[c]; sm-=a[c];
p[a[c]]=1;
continue;
}
}
for (i=1; i<=n; i++)
if (p[a[i]]==1) fprintf(fout,"+");
else fprintf(fout,"-");
return 0;
}