Pagini recente » Cod sursa (job #2579185) | Cod sursa (job #1670708) | Cod sursa (job #1088751) | Cod sursa (job #2006595) | Cod sursa (job #771312)
Cod sursa(job #771312)
#include<fstream>
#include<cstdlib>
#include<ctime>
using namespace std;
int a[50005];
bool sm[50005];
int main(void)
{
ifstream fin("semne.in");
ofstream fout("semne.out");
int N,i,j,n,S,sc=0,rd,found=0;
srand(time(0));
fin>>N>>S;
for(i=1;i<=N;++i)fin>>a[i];
while(!found)
{
n=N; i=1; sc=0;
while(n)
{
rd=rand()%n+1; n-=rd; j=i+rd;
if(sc<0)
while(i<=j){ sm[i]=1; sc+=a[i++]; }
else
while(i<=j){ sm[i]=0; sc-=a[i++]; }
}
if(sc==S)found=1;
}
for(i=1;i<=N;++i)fout<<((sm[i])?'+':'-');
return 0;
}