Pagini recente » Cod sursa (job #2450164) | Cod sursa (job #1607531) | Cod sursa (job #185550) | Cod sursa (job #553622) | Cod sursa (job #180880)
Cod sursa(job #180880)
#include <stdio.h>
#include <cstdlib>
#include <ctime>
#include <bitset>
using namespace std;
long n,i,a[50005];
long long S,sum;
bitset <50005>v;
int main(){
freopen("semne.in","r",stdin);
freopen("semne.out","w",stdout);
srand(time(0));
scanf("%ld %lld",&n,&S);
for (i=1;i<=n;i++){
scanf("%ld",&a[i]);
sum+=a[i];
v[i]=1;
}
while (sum!=S){
i=rand()%(n+1);
if(sum>S&&!v[i])continue;
if (sum<S&&v[i])continue;
v[i]=1-v[i];
if (v[i])sum+=a[i]+a[i];
else sum-=a[i]+a[i];
}
for (i=1;i<=n;i++)
if (v[i])printf("+");
else printf("-");
printf("\n");
return 0;
}