This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define pb push_back
#define LL long long
#define Kultivator ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define int LL
using namespace std;
const LL Mxn = 1e6 + 7;
const LL Mod = 1e9 + 7;
const LL Inf = 1e14 + 7;
int N, K;
bool isprime(int n){
if(n == 2) return true;
for(int i = 2; i*i <= n; i++)
if(n%i == 0) return false;
return true;
}
bool Get(int x, int y, int d){
return (x / d + y / d) % 2;
}
void Ans1(){
int Ans = Mxn;
for(int i = 1; i < N; i++){
if(N % i == 0){
Ans = min(Ans, (N * N) / (2 * i * i) * (i * i));
}
}
cout << Ans;
}
void Ans2(){
int cnt[2] = {0, 0};
for(int i = 1; i <= K; i++){
int x1, y1, x2, y2;
cin >> x1 >> y1 >> x2 >> y2;
for(int x = x1; x <= x2; x++)
for(int y = y1; y <= y2; y++){
//a[x][y] = 1;
cnt[(x+y)%2]++;
}
}
cout << min(N*N/2-cnt[1] + cnt[0], N*N/2+1-cnt[0] + cnt[1]);
}
signed main(){
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cin >> N >> K;
if(K == 0){
Ans1();
} else if(isprime(N)){
Ans2();
}
//Ans3(N, K);
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |