Pagini recente » Cod sursa (job #2935593) | Cod sursa (job #1203365) | Cod sursa (job #3003396) | Cod sursa (job #2503341) | Cod sursa (job #1248202)
#include<fstream>
#include<algorithm>
#include<cstdlib>
#include<ctime>
using namespace std;
typedef struct lol {
int x,poz;
}troll;
int a[50005],i,n,aux,q,nr;
long long s,sum;
bool rs[50005];
troll m[50005],p[50005];
int main()
{
ifstream cin("semne.in");
ofstream cout("semne.out");
srand(time(NULL));
cin>>n>>s;
for(i=1;i<=n;++i)
{
cin>>a[i]; aux=rand()%2;
if(aux) sum+=a[i],p[++nr].x=a[i],p[nr].poz=i;
else sum-=a[i],m[++q].x=a[i],m[q].poz=i;
}
while(sum!=s)
if(sum<s) {
aux=rand()%q;
p[++nr]=m[aux+1];
sum+=2*m[aux+1].x;
swap(m[aux+1],m[q--]);
}
else {
aux=rand()%nr;
m[++q]=p[aux+1];
sum-=2*p[aux+1].x;
swap(p[aux+1],p[nr--]);
}
for(i=1;i<=q;++i) rs[m[i].poz]=1;
for(i=1;i<=n;++i)
if(rs[i]) cout<<'-'; else cout<<'+';
return 0;
}