Pagini recente » Cod sursa (job #592075) | Cod sursa (job #3232399) | Cod sursa (job #1603103) | Cod sursa (job #2897423) | Cod sursa (job #119287)
Cod sursa(job #119287)
#include <fstream.h>
#include <cstdlib.h>
#include <ctime.h>
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;
}