Cod sursa(job #1693317)

Utilizator Bodo171Bogdan Pop Bodo171 Data 22 aprilie 2016 21:02:13
Problema Semne Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.09 kb
#include <iostream>
#include<fstream>
#include<string>
#include<cstdlib>
#include<ctime>
using namespace std;
long long n,sum,i,j,nr,v[100005],s;
char semn[100005];
string st;
int main()
{
    ifstream f("semne.in");
    ofstream g("semne.out");
    srand(time(NULL));
    f>>n>>sum;
    f.get();
    getline(f,st);
    i=1;

    while(i<=n)
    {
        if(st[j]>='0'&&st[j]<='9')
        {
            nr=nr*10+st[j]-'0';

        }
        else
        {
            v[i]=nr;
            nr=0;
            s+=v[i];
            semn[i]='+';
            ++i;
        }
        ++j;

    }
       while(s!=sum)
   {
       if(s<sum)
       {

           nr=rand()%n+1;
           while(semn[nr]=='+')
           {
            nr++;
           }
           semn[nr]='+';
           s+=2*v[nr];
       }
       else
       {

           nr=rand()%n+1;
           while(semn[nr]=='-')
           {
               nr++;
           }
           semn[nr]='-';
           s-=2*v[nr];
       }
   }


for(i=1;i<=n;i++) g<<semn[i];



    return 0;
   }