Cod sursa(job #2380541)

Utilizator mpavel77Pavel Mihai mpavel77 Data 15 martie 2019 10:13:12
Problema A+B Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <fstream>
#include<cstring>
using namespace std;
ifstream f("5-evip.in");
ofstream g("evip.out");
int main() {
    char c1[10001];
    int c,nc,nci,ncp,nr,ncifre,ncifre1;
    f>>c;

        f>>c1;
        nc=strlen(c1)-1;
        int i=0;
        int nnr=0;
        while (i<=nc) {
            nci=0;
            ncp=0;
            nr=c1[i]-'0';
            while ((nr%2==1)&&(i<=nc)) {
                nci++;
                i++;
                nr=c1[i]-'0';
            }
            while ((nr%2==0)&&(i<=nc)) {
                ncp++;
                i++;
                nr=c1[i]-'0';
            }
            if (nci>0)
                nnr=nnr+nci*ncp;
        }
       if (c==1) g<<nnr;
       if (c==2)
       {
       ncifre=10001;
       for (int i=2;i<=nnr/2;i++)
       {
         if (nnr%i==0){ncifre1=i+nnr/i;
         if (ncifre1<ncifre)ncifre=ncifre1;
         }
       }
       g<<ncifre;
       }


    return 0;
}