Pagini recente » Cod sursa (job #2294048) | Cod sursa (job #280656) | Cod sursa (job #2170362) | Cod sursa (job #419372) | Cod sursa (job #1044812)
#include <fstream>
#include <ctime>
#include <cstdlib>
using namespace std;
int N,v[50005];
long long S,suma;
char semn[50005];
inline void Read()
{
int i,poz;
ifstream fin("semne.in");
srand(time(0));
fin>>N>>S;
for(i=1;i<=N;++i)
{
fin>>v[i];
if(suma<S)
{
semn[i]='+';
suma+=v[i];
}
else
{
semn[i]='-';
suma-=v[i];
}
}
fin.close();
}
inline void Solve()
{
int gata=0,poz,i;
srand(time(0));
while(!gata)
if(suma<S)
{
for(poz=1;semn[poz]=='+';poz=rand()%N +1);
suma+=2*v[poz];
semn[poz]='+';
}
else
if(suma>S)
{
for(poz=1;semn[poz]=='-';poz=rand()%N +1);
suma-=2*v[poz];
semn[poz]='-';
}
else
gata=1;
ofstream fout("semne.out");
for(i=1;i<=N;i++)
fout<<semn[i];
fout<<"\n";
fout.close();
}
int main()
{
Read();
Solve();
return 0;
}