Cod sursa(job #1764176)

Utilizator Lungu007Lungu Ionut Lungu007 Data 25 septembrie 2016 07:51:42
Problema Pascal Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.5 kb
#include <iostream>
#include <fstream>
#define DMAX 7
using namespace std;

ifstream in("pascal.in");
ofstream out("pascal.out");

int r,d,div,sus,jos,contor,doij,treij,dois,treis,doi,trei;

int main()
{
    in >> r >> div;

    for(int k=1;k<r;k++)
    {
        sus = jos = 0;

       for(int j=1;j*div<=r;j++)
       {
           sus += r/(j*div);
       }

       for(int j=1;j*div<=k;j++)
       {
           jos += k/(j*div);
       }

       for(int j=1;j*div<=r-k;j++)
       {
           jos += (r-k)/(j*div);
       }

       if(div == 6)
       {
           dois = r/2;
           treis = r/3;

           doij = k/2 + (r-k)/2;
           treij = k/3 + (r-k)/3;

           doi = dois - doij;
           trei = treis - treij;

           sus+= min(doi,trei);

       }
     //   cout << sus <<  " " << jos;
       if(div == 4)
       {
           sus = jos = 0;
            for(int j=1;j*2<=r;j++)
           {
               sus += r/(j*2);
           //    cout << r/(j*2) << " ";
           }

           for(int j=1;j*2<=k;j++)
           {
               jos += k/(j*2);
           }

           for(int j=1;j*2<=r-k;j++)
           {
               jos += (r-k)/(j*2);
           }
           //cout << sus << " " << jos<<endl;
            if(sus-jos>=2)
            {
                contor++;
            }
       }

       if(sus-jos>=1 && div!=4)
       {

           contor++;
       }
    }
    out << contor <<" ";
    return 0;
}