Cod sursa(job #348837)

Utilizator MKLOLDragos Ristache MKLOL Data 17 septembrie 2009 08:12:40
Problema Semne Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
long long N,S,nr;
long long v[50010];
char a[50010];
long long Q;
int main()
{
freopen("semne.in","r",stdin);
freopen("semne.out","w",stdout);
scanf("%lld%lld",&N,&S);

srand(time (0));
for(int i=0;i<N;++i)
{
    scanf("%lld",&v[i]);
    if(S>Q)
    {
    a[i]=1;
    Q=Q+v[i];
    }
    else if(S<Q)
    {
    a[i]=2;
    Q=Q-v[i];
    }
}
while(Q!=S)
{
nr=rand()%N;
if(Q>S)
{
if(a[nr]==1)
{
a[nr]=2;
Q=Q-(v[nr]*2);
}
}
else if(Q<S)
{
if(a[nr]==2)
{
a[nr]=1;
Q=Q+(v[nr]*2);
}
}
}

for(int i=0;i<N;++i)
if(a[i]==1)
printf("+");
else printf("-");

return 0;
}