Cod sursa(job #2575632)

Utilizator Vlad_AnicaAnica-Popa Vlad-Ioan Vlad_Anica Data 6 martie 2020 14:44:25
Problema Divizori Primi Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.13 kb
#include <iostream>
#include <fstream>


using namespace std;

ifstream fin ("melci.in");
ofstream fout ("melci.out");

bool v[50000];

int main()
{
    int n,i,p,cpp,cnt,da,db;
    fin >> n >> p;
    for(i=1;i<=(2*n-1)*p;i+=p)
    {
        cpp=p;
        while(cpp>0)
        {
            v[i++]=1;
            cpp--;
        }
    }
  //for(i=1;i<=(2*n-1)*p;i++)
   // cout << v[i] << " ";

    da=2;
    db=3;
    cnt=1;
    int ok=0;
    int okk=0;
    while(da+db<(2*n-1)*p)
    {
        if(v[da]==1  && v[da-1]==1 && v[da+1]==1)
        {
            da+=2;
        }

        else
        {
            ok++;
            if(ok==2)
            {
                da+=2;
                ok=0;
            }
        }

        if(v[((2*n-1)*p)-db]==0 ||(v[((2*n-1)*p)-db]==1 && v[((2*n-1)*p)-db+1]==0))
        {
            db+=3;
        }
        else
        {
            okk++;
            if(okk==3)
            {
                db+=3;
                okk=0;
            }
        }
        cnt++;
      // cout << da << " " <<db << '\n';
    }
    fout << cnt;

    return 0;
}