This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
/** kutbilim.one **/
#include <bits/stdc++.h>
using namespace std;
#define all(x) x.begin(),x.end()
#define int long long
#define endl '\n'
/*
ifstream in("test.txt");
#define cin in */
const int MAX = 2020;
int n, k;
//int a[MAX][MAX];
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;
}
void solve_1(){
int result = INT_MAX;
for(int i = 1; i < n; i++){
if(n%i) continue;
result = min(result, ((n*n)/(i*i)/2)*(i*i));
}
cout << result;
}
void solve_2(){
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+1-cnt[1] + cnt[0], n*n/2-cnt[0] + cnt[1]);
}
signed main(){
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n >> k;
if(k == 0){
solve_1();
}else if(isprime(n)){
solve_2();
}else if(n <= 1000){
// solve_3_4();
}
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... |