#include <iostream>
#include <bits/stdc++.h>
#include <cmath>
#include <algorithm>
#include <vector>
#include <deque>
#include <set>
#include <stack>
#include <string>
#include <map>
#include <queue>
#define int long long
using namespace std;
const long long oo = 1000000000000000000;
long long sum, ans = 0, mx = 0, mn = 1000000000, num, pos, answer;
/*
ViHHiPuh
(( `'-""``""-'` ))
)-__-_.._-__-(
/ --- (o _ o) --- \
\ .-* ( .0. ) *-. /
_'-. ,_ '=' _, .-'_
/ `;#'#'# - #'#'#;` \
\_)) -----'#'----- ((_/
# --------- #
'# ------- ------ #'
/..-'# ------- #'-.\
_\...-\'# -- #'/-.../_
((____)- '#' -(____))
cout << fixed << setprecision(6) << x;
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
freopen ( "sum.in", "r", stdin )
*/
bool prime_number;
int n, m, x[ 100001 ], y[ 100001 ], xx[ 100001 ], yy[ 100001 ];
int f( int o ) {
num = m * m;
sum = o * o;
mn = num / sum;
ans = mn / 2;
num = mn / 2;
if ( mn % 2 )
num ++;
ans = ans * sum;
num = num * sum;
sum = mx = 0;
for ( int i = 1; i <= n; i ++ ) {
for ( int j = x[ i ] / o; j <= xx[ i ] / o; j ++ ) {
for ( int k = y[ i ] / o; k <= yy[ i ] / o; k ++ ) {
if ( ( ( j ) + ( k ) ) % 2 ) {
sum ++;
ans --;
}
else {
num --;
mx ++;
}
}
}
}
return min( ans + mx, num + sum );
}
main () {
cin >> m >> n;
for ( int i = 1; i <= n; i ++ ) {
cin >> x[ i ] >> y[ i ] >> xx[ i ] >> yy[ i ];
x[ i ] --;
y[ i ] --;
xx[ i ] --;
yy[ i ] --;
}
answer = f( 1 );
int sq = sqrt( m );
for ( int i = sq; i >= 2; i -- ) {
if ( m % i == 0 ) {
answer = min( answer, f( i ) );
}
}
cout << answer;
}
Compilation message
chessboard.cpp:79:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
79 | main () {
| ^~~~
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
204 KB |
Output is correct |
2 |
Incorrect |
0 ms |
204 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
70 ms |
2208 KB |
Output is correct |
2 |
Correct |
17 ms |
716 KB |
Output is correct |
3 |
Correct |
49 ms |
1408 KB |
Output is correct |
4 |
Correct |
41 ms |
1604 KB |
Output is correct |
5 |
Correct |
57 ms |
1872 KB |
Output is correct |
6 |
Correct |
40 ms |
1316 KB |
Output is correct |
7 |
Correct |
9 ms |
524 KB |
Output is correct |
8 |
Correct |
40 ms |
1376 KB |
Output is correct |
9 |
Correct |
94 ms |
3084 KB |
Output is correct |
10 |
Correct |
50 ms |
1800 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
204 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
204 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
70 ms |
2208 KB |
Output is correct |
2 |
Correct |
17 ms |
716 KB |
Output is correct |
3 |
Correct |
49 ms |
1408 KB |
Output is correct |
4 |
Correct |
41 ms |
1604 KB |
Output is correct |
5 |
Correct |
57 ms |
1872 KB |
Output is correct |
6 |
Correct |
40 ms |
1316 KB |
Output is correct |
7 |
Correct |
9 ms |
524 KB |
Output is correct |
8 |
Correct |
40 ms |
1376 KB |
Output is correct |
9 |
Correct |
94 ms |
3084 KB |
Output is correct |
10 |
Correct |
50 ms |
1800 KB |
Output is correct |
11 |
Incorrect |
0 ms |
204 KB |
Output isn't correct |
12 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
204 KB |
Output is correct |
2 |
Incorrect |
0 ms |
204 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |