Cod sursa(job #1533594)

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