Pagini recente » Cod sursa (job #911321) | Cod sursa (job #2907818) | Cod sursa (job #554340) | Cod sursa (job #2824336) | Cod sursa (job #1167801)
#include <cstdio>
#include <ctime>
#include <cstdlib>
using namespace std;
FILE*f=fopen("semne.in","r");
FILE*h=fopen("semne.out","w");
bool semn[50001];
int v[50001];
int main(){
int n,sum,s=0,k;
fscanf(f,"%d%d",&n,&sum);
for ( int i=1;i<=n;++i ){
semn[i]=1;
fscanf(f,"%d",&v[i]);
s+=v[i];
}
srand(time(NULL));
while ( s!=sum ){
if ( s>sum ){
int x=rand()%n+1;
while ( semn[x]==0 )
++x;
if ( x>n ){
x=1;
while ( semn[x]==0 )
++x;
}
s-=2*v[x];
semn[x]=0;
continue;
}
int x=rand()%n+1;
while ( semn[x]==1 )
++x;
if ( x>n ){
x=1;
while ( semn[x]==1 )
++x;
}
s+=2*v[x];
semn[x]=1;
}
for ( int i=1;i<=n;++i ){
if ( semn[i]==1 )
fprintf(h,"+");
else fprintf(h,"-");
}
return 0;
}