Cod sursa(job #2308330)

Utilizator chiutamarcelChiuta Mihai Marcel chiutamarcel Data 26 decembrie 2018 21:10:42
Problema Sum Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <cstdio>
#define NMAX 1000005

using namespace std;

int n, k, p, nr, a[NMAX], b[NMAX], i, j;
long long s;

int main()
{
	freopen("cufar.in", "r", stdin);
	freopen("cufar.out", "w", stdout);
	scanf("%d %d", &p, &n);

    for(i = 1; i <= n; i++){
        scanf("%d %d", &nr, &k);
        a[nr] = k;
    }

    for(i = 2; i <= NMAX; i++){
        if (b[i] == 0){
            for(j = i; j <= NMAX; j += i){
                b[j]++;
                if(a[j] == b[j]){
                    s += i;
                    a[j] = 0;
                }
            }
        }
    }
    printf("%lld", s);

	return 0;
}