Pagini recente » Cod sursa (job #1894239) | Profil deliaelena13 | Cod sursa (job #1998327) | Cod sursa (job #767044) | Cod sursa (job #785629)
Cod sursa(job #785629)
#include <cstdio>
#include <ctime>
#include <cstdlib>
#include <iostream>
#include <fstream>
using namespace std;
int v[50005];
bool semn[50005];
int main()
{
srand( time(NULL));
long long Sp=0,Sm=0;
int n,s;
freopen("semne.in","r", stdin);
ofstream g;
g.open("semne.out");
scanf("%d %d",&n,&s);
for(int i=1;i<=n;i++)
{
scanf("%d",&v[i]);
if(i%2==0)
{
semn[i]=0;// +
Sp+=v[i];
}
else
{
semn[i]=1; // -
Sm+=v[i];
}
}
//cout<<Sp<<" "<<Sm<<endl;
int sumatotala=Sp-Sm;
while(sumatotala!=s)
{
if(sumatotala<s)
{
// deci scot un negativ si il transf in pozitiv
int x=rand()%n;
while(semn[x]==0)
x=rand()%n;
semn[x]=0;
Sm-=v[x];
Sp+=v[x];
}
else
{
int x=rand()%n;
while(semn[x]==1)
x=rand()%n;
semn[x]=1;
Sm+=v[x];
Sp-=v[x];
}
sumatotala=Sp-Sm;
}
for(int i=1;i<=n;i++)
if(semn[i]==0)
g<<"+";
else
g<<"-";
return 0;
}