Cod sursa(job #771312)

Utilizator ion824Ion Ureche ion824 Data 25 iulie 2012 16:30:47
Problema Semne Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#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;
}