Cod sursa(job #2451249)

Utilizator AnduebossAlexandru Ariton Andueboss Data 26 august 2019 11:57:07
Problema Mins Scor 50
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.09 kb
//
//  main.cpp
//  minc
//
//  Created by Andu Andu on 26/08/2019.
//  Copyright © 2019 Andu Andu. All rights reserved.
//

#include <iostream>
#include <fstream>
#define FOR(i,a,b) for((i)=(a);(i)<=(b);(i)++)
#define For(i,a,b,pas) for((i)=(a);(i)<=(b);(i)+=(pas))
using namespace std;

ifstream f ("mins.in");
ofstream g ("mins.out");
int m, n;

struct punct {
    int xpos, ypos;
};
int i, M, N;
int j;
int ciurx[100000], ciury[100000];
//int m, n;
punct point;
punct points[100];

void ciur() {
    FOR(i, 2, n) {
        if(ciurx[i] == 0) {
            For(j, i, n, i) {
                ciurx[j]++;
            }
            long long k = i*i;
            long long cou;
            For(cou, k, n, k) {
                ciury[cou] = 1;
            }
        }
        if(ciury[i] == 0) {
            long long t = (M / i) * (N / i);
            if(ciurx[i] % 2 == 0)
                m += t;
            else
                m -= t;
        }
    }
}

int main(int argc, const char * argv[]) {
    f>>M>>N;
    M -= 1;
    N -= 1;
    n = min(M,N);
    m = M * N;
    ciur();
    g<<m;
    
    return 0;
}