Cod sursa(job #1533604)

Utilizator SilviuIIon Silviu SilviuI Data 22 noiembrie 2015 19:28:34
Problema Semne Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define nmax 50010
using namespace std;
int n,i,j,t[nmax],fr[nmax];
long long int s=0,m;
int main() {
freopen("semne.in","r",stdin);
freopen("semne.out","w",stdout);
scanf("%d %lld",&n,&m); srand(unsigned(time(0)));
for (i=1;i<=n;i++) scanf("%d",&t[i]),s+=t[i],fr[i]=1;
while (s!=m) {
    if (s<m) {
        int x=0;
        while (fr[x]==1) x=rand()%n; x++;
        s+=2*t[x]; fr[x]=1;
    } else
    if (s>m) {
        int x=0;
        while (fr[x]==-1) x=rand()%n; x++;
        s-=2*t[x]; fr[x]=-1;
    }
}
for (i=1;i<=n;i++)
    if (fr[i]==1) printf("+"); else printf("-");
return 0;
}