Pagini recente » Cod sursa (job #2658699) | Cod sursa (job #3173713) | Cod sursa (job #1765651) | Cod sursa (job #84997) | Cod sursa (job #1686)
Cod sursa(job #1686)
#include <cstdio>
#include <cstdlib>
#include <ctime>
#include <string>
#define maxn 1<<16
int main()
{
freopen("semne.in", "r", stdin);
freopen("semne.out", "w",stdout);
int n,i, x[maxn],v[maxn], S;
scanf("%d %d\n", &n, &S);
for(i=1;i<=n;i++) scanf("%d", x+i);
int sum=0, s=0;
for(i=1;i<=n;i++) sum+=x[i];
memset(v, 0, sizeof(v));
time_t q;
time(&q);
srand(q);
// printf("%d %d\n", S, sum);
while(s!=S)
{
s=sum;
int p;
memset(v, 0, sizeof(int)*(n+2));
while(s>S)
{
p=rand()%n +1;
while(v[p]) p=rand()%n +1;
v[p]=1;
s-=2*x[p];
if(s==S) { for(i=1;i<=n;i++) if(v[i]) printf("-"); else printf("+"); printf("\n"); return 0;}
}
}
return 0;
}