Cod sursa(job #119290)

Utilizator RobytzzaIonescu Robert Marius Robytzza Data 30 decembrie 2007 13:56:56
Problema Semne Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.12 kb
#include<fstream>
#include<cstdlb>
#include<ctime>
using namespace std;

long a[50003],plus[50003],minus[50004],n,S,poz[5000000],max=-11111244;

void citire()
{
   ifstream fin("semne.in");
   fin>>n>>S;
      for (long i=1;i<n;i++)
      {
	 fin>>a[i];
	 poz[a[i]]=i;
	   if (a[i]>max)
	      max=a[i];
      }
   fin.close();
}

void random()
{
//srand(time(0));
short ok=1;
   while (ok)
   {
     long Sp=0;
     long Sm=0;
     memset(plus,0,sizeof(plus));
     memset(minus,0,sizeof(minus));
      for (long i=0;i<=n;i++){
       for (long j=0;j<i;j++){
	   long aux=rand()%max;
	   if (plus[poz[aux]]==0)
	   {
	       plus[poz[aux]]=1;
	       Sp+=aux;
	   }
       }
       for (long y=0;y<n-i;y++)
	{
	long aus=rand()%max;
	if (minus[poz[aus]]==0)
	  {
	     Sm-=aus;
	     minus[poz[aus]]=1;
	   }
	}
      }
     if (Sp+Sm==S)
     {
       return ;
     }
   }
}

int main()
{
   citire();
   ofstream fout("semne.out");
   for (long i=0;i<n;i++)
      if (plus[i]==1)
	 fout<<"+";
      else
	 fout<<"-";
      fout<<"\n";
   fout.close();
   return 0;
}