Pagini recente » Cod sursa (job #59810) | Cod sursa (job #494924) | Cod sursa (job #327302) | Cod sursa (job #1505941) | Cod sursa (job #1044806)
#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;
ifstream fin("semne.in");
fin>>N>>S;
for(i=1;i<=N;++i)
{
fin>>v[i];
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;
}