Pagini recente » Cod sursa (job #2114572) | Cod sursa (job #1978307) | Cod sursa (job #2200686) | Cod sursa (job #923899) | Cod sursa (job #609137)
Cod sursa(job #609137)
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define MaxN 50100
int A[MaxN];
int B[MaxN];
int N;
int S;
int sum;
void citire(void)
{
FILE *f = fopen("semne.in","r");
fscanf(f,"%d %d",&N,&S);
for(int i=1;i<=N;i++)
fscanf(f,"%d ",&A[i]);
fclose(f);
}
void FillSemn(void)
{
for(int i=1;i<=N;i++)
{
B[i] = rand()%2;
if(B[i])
sum += A[i];
else
sum -= A[i];
}
}
void solve(void)
{
FillSemn();
int random;
for(;sum != S;)
{
random = rand()%N+1;
if(B[random])
sum -= 2*A[random];
else
sum += 2*A[random];
B[random] = 1-B[random];
// printf("%d\n",sum);
}
}
int main()
{
FILE *g = fopen("semne.out","w");
citire();
srand((unsigned)time(0));
solve();
for(int i=1;i<=N;i++)
if(B[i])
fprintf(g,"+");
else
fprintf(g,"-");
fclose(g);
return 0;
}