# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
173859 | VEGAnn | Chessboard (IZhO18_chessboard) | C++14 | Compilation error | 0 ms | 0 KiB |
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 sz(x) ((int)x.size())
#define pii pair<int, int>
#define ft first
#define sd second
#define MP make_pair
#define PB push_back
using namespace std;
typedef long long ll;
const int oo = 2e9;
const ll OO = 1e18;
const int N = 100100;
ll ans = OO, gl;
int x1[N], y1[N], x2[N], y2[N], n, k;
ll calc(ll x, ll y){
if (x <= 0 || y <= 0) return 0;
ll kl = y / gl, res = 0;
ll ko = x / gl;
ll ad1 = 0, ad2 = 0;
if (x % gl > 0){
if (ko % 2 == 0)
ad1 += x % gl;
else ad2 += x % gl;
}
res += ((kl + 1) / 2ll) * gl * ((ko + 1) / 2ll * gl + ad1);
res += ((kl + 0) / 2ll) * gl * ((ko + 0) / 2ll * gl + ad2);
if (y % gl > 0){
if (kl % 2 == 0)
res += ((ko + 1) / 2ll * gl + ad1) * (y % gl);
else res += ((ko + 0) / 2ll * gl + ad2) * (y % gl);
}
return res;
}
ll calc(ll x1, ll y1, ll x2, ll y2){
return calc(x2, y2) - calc(x1 - 1, y2) - calc(x2, y1 - 1) + calc(x1 - 1, y1 - 1);
}
ll check(ll x){
gl = x;
ll cnd1 = calc(n, n);
ll cnd2 = ll(n) * ll(n) - cnd1;
for (int i = 0; i < k; i++){
ll k1 = calc(x1[i], y1[i], x2[i], y2[i]);
ll x = x2[i] - x1[i] + 1;
ll y = y2[i] - y1[i] + 1;
cnd1 -= k1 - (x * y - k1);
cnd2 -= - k1 + (x * y - k1);
}
return min(cnd1, cnd2);
}
int main(){
ios_base::sync_with_stdio(0); cin.tie(0);
cin >> n >> k;
for (int i = 0; i < k; i++)
cin >> x1[i] >> y1[i] >> x2[i] >> y2[i];
int root = (int)trunc(sqrt(n));
for (int i = 1; i <= root; i++)
if (n % i == 0){
ans = min(ans, check(i));
if (i != i)
ans = min(ans, check(n / i));
}
cout << ans;
return 0;
}
Compilation message (stderr)
chessboard.cpp:14:16: error: 'int y1 [100100]' redeclared as different kind of symbol int x1[N], y1[N], x2[N], y2[N], n, k; ^ In file included from /usr/include/features.h:367:0, from /usr/include/x86_64-linux-gnu/c++/7/bits/os_defines.h:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/c++config.h:533, from /usr/include/c++/7/cassert:43, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:33, from chessboard.cpp:1: /usr/include/x86_64-linux-gnu/bits/mathcalls.h:251:1: note: previous declaration 'double y1(double)' __MATHCALL (y1,, (_Mdouble_)); ^ chessboard.cpp: In function 'll check(ll)': chessboard.cpp:51:33: warning: pointer to a function used in arithmetic [-Wpointer-arith] ll k1 = calc(x1[i], y1[i], x2[i], y2[i]); ^ chessboard.cpp:51:33: error: invalid conversion from 'double (*)(double) throw ()' to 'll {aka long long int}' [-fpermissive] ll k1 = calc(x1[i], y1[i], x2[i], y2[i]); ~~~~^ chessboard.cpp:41:4: note: initializing argument 2 of 'll calc(ll, ll, ll, ll)' ll calc(ll x1, ll y1, ll x2, ll y2){ ^~~~ chessboard.cpp:53:28: warning: pointer to a function used in arithmetic [-Wpointer-arith] ll y = y2[i] - y1[i] + 1; ^ chessboard.cpp:53:22: error: invalid operands of types 'int' and 'double(double) throw ()' to binary 'operator-' ll y = y2[i] - y1[i] + 1; ~~~~~~^~~~~~~ chessboard.cpp: In function 'int main()': chessboard.cpp:66:29: warning: pointer to a function used in arithmetic [-Wpointer-arith] cin >> x1[i] >> y1[i] >> x2[i] >> y2[i]; ^ chessboard.cpp:66:22: error: no match for 'operator>>' (operand types are 'std::basic_istream<char>::__istream_type {aka std::basic_istream<char>}' and 'double(double) throw ()') cin >> x1[i] >> y1[i] >> x2[i] >> y2[i]; ~~~~~~~~~~~~~^~~~~~~~ In file included from /usr/include/c++/7/sstream:38:0, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from chessboard.cpp:1: /usr/include/c++/7/istream:120:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__istream_type& (*)(std::basic_istream<_CharT, _Traits>::__istream_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match> operator>>(__istream_type& (*__pf)(__istream_type&)) ^~~~~~~~ /usr/include/c++/7/istream:120:7: note: conversion of argument 1 would be ill-formed: chessboard.cpp:66:29: error: invalid conversion from 'double (*)(double) throw ()' to 'std::basic_istream<char>::__istream_type& (*)(std::basic_istream<char>::__istream_type&) {aka std::basic_istream<char>& (*)(std::basic_istream<char>&)}' [-fpermissive] cin >> x1[i] >> y1[i] >> x2[i] >> y2[i]; ~~~~^ In file included from /usr/include/c++/7/sstream:38:0, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from chessboard.cpp:1: /usr/include/c++/7/istream:124:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__ios_type& (*)(std::basic_istream<_CharT, _Traits>::__ios_type&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>; std::basic_istream<_CharT, _Traits>::__ios_type = std::basic_ios<char>] <near match> operator>>(__ios_type& (*__pf)(__ios_type&)) ^~~~~~~~ /usr/include/c++/7/istream:124:7: note: conversion of argument 1 would be ill-formed: chessboard.cpp:66:29: error: invalid conversion from 'double (*)(double) throw ()' to 'std::basic_istream<char>::__ios_type& (*)(std::basic_istream<char>::__ios_type&) {aka std::basic_ios<char>& (*)(std::basic_ios<char>&)}' [-fpermissive] cin >> x1[i] >> y1[i] >> x2[i] >> y2[i]; ~~~~^ In file included from /usr/include/c++/7/sstream:38:0, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from chessboard.cpp:1: /usr/include/c++/7/istream:131:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(std::ios_base& (*)(std::ios_base&)) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match> operator>>(ios_base& (*__pf)(ios_base&)) ^~~~~~~~ /usr/include/c++/7/istream:131:7: note: conversion of argument 1 would be ill-formed: chessboard.cpp:66:29: error: invalid conversion from 'double (*)(double) throw ()' to 'std::ios_base& (*)(std::ios_base&)' [-fpermissive] cin >> x1[i] >> y1[i] >> x2[i] >> y2[i]; ~~~~^ In file included from /usr/include/c++/7/sstream:38:0, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from chessboard.cpp:1: /usr/include/c++/7/istream:168:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(bool&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match> operator>>(bool& __n) ^~~~~~~~ /usr/include/c++/7/istream:168:7: note: conversion of argument 1 would be ill-formed: chessboard.cpp:66:29: error: cannot bind non-const lvalue reference of type 'bool&' to an rvalue of type 'bool' cin >> x1[i] >> y1[i] >> x2[i] >> y2[i]; ~~~~^ In file included from /usr/include/c++/7/sstream:38:0, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from chessboard.cpp:1: /usr/include/c++/7/istream:172:7: note: candidate: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(short int&) [with _CharT = char; _Traits = std::char_traits<char>] <near match> operator>>(short& __n); ^~~~~~~~ /usr/include/c++/7/istream:172:7: note: conversion of argument 1 would be ill-formed: chessboard.cpp:66:29: error: invalid conversion from 'double (*)(double) throw ()' to 'short int' [-fpermissive] cin >> x1[i] >> y1[i] >> x2[i] >> y2[i]; ~~~~^ chessboard.cpp:66:29: error: cannot bind rvalue '(short int)(y1 + ((sizetype)i))' to 'short int&' In file included from /usr/include/c++/7/sstream:38:0, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from chessboard.cpp:1: /usr/include/c++/7/istream:175:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(short unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match> operator>>(unsigned short& __n) ^~~~~~~~ /usr/include/c++/7/istream:175:7: note: conversion of argument 1 would be ill-formed: chessboard.cpp:66:29: error: invalid conversion from 'double (*)(double) throw ()' to 'short unsigned int' [-fpermissive] cin >> x1[i] >> y1[i] >> x2[i] >> y2[i]; ~~~~^ chessboard.cpp:66:29: error: cannot bind rvalue '(short unsigned int)(y1 + ((sizetype)i))' to 'short unsigned int&' In file included from /usr/include/c++/7/sstream:38:0, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from chessboard.cpp:1: /usr/include/c++/7/istream:179:7: note: candidate: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(int&) [with _CharT = char; _Traits = std::char_traits<char>] <near match> operator>>(int& __n); ^~~~~~~~ /usr/include/c++/7/istream:179:7: note: conversion of argument 1 would be ill-formed: chessboard.cpp:66:29: error: invalid conversion from 'double (*)(double) throw ()' to 'int' [-fpermissive] cin >> x1[i] >> y1[i] >> x2[i] >> y2[i]; ~~~~^ chessboard.cpp:66:29: error: cannot bind rvalue '(int)(y1 + ((sizetype)i))' to 'int&' In file included from /usr/include/c++/7/sstream:38:0, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from chessboard.cpp:1: /usr/include/c++/7/istream:182:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match> operator>>(unsigned int& __n) ^~~~~~~~ /usr/include/c++/7/istream:182:7: note: conversion of argument 1 would be ill-formed: chessboard.cpp:66:29: error: invalid conversion from 'double (*)(double) throw ()' to 'unsigned int' [-fpermissive] cin >> x1[i] >> y1[i] >> x2[i] >> y2[i]; ~~~~^ chessboard.cpp:66:29: error: cannot bind rvalue '(unsigned int)(y1 + ((sizetype)i))' to 'unsigned int&' In file included from /usr/include/c++/7/sstream:38:0, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from chessboard.cpp:1: /usr/include/c++/7/istream:186:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match> operator>>(long& __n) ^~~~~~~~ /usr/include/c++/7/istream:186:7: note: conversion of argument 1 would be ill-formed: chessboard.cpp:66:29: error: invalid conversion from 'double (*)(double) throw ()' to 'long int' [-fpermissive] cin >> x1[i] >> y1[i] >> x2[i] >> y2[i]; ~~~~^ chessboard.cpp:66:29: error: cannot bind rvalue '(long int)(y1 + ((sizetype)i))' to 'long int&' In file included from /usr/include/c++/7/sstream:38:0, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from chessboard.cpp:1: /usr/include/c++/7/istream:190:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match> operator>>(unsigned long& __n) ^~~~~~~~ /usr/include/c++/7/istream:190:7: note: conversion of argument 1 would be ill-formed: chessboard.cpp:66:29: error: invalid conversion from 'double (*)(double) throw ()' to 'long unsigned int' [-fpermissive] cin >> x1[i] >> y1[i] >> x2[i] >> y2[i]; ~~~~^ chessboard.cpp:66:29: error: cannot bind rvalue '(long unsigned int)(y1 + ((sizetype)i))' to 'long unsigned int&' In file included from /usr/include/c++/7/sstream:38:0, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from chessboard.cpp:1: /usr/include/c++/7/istream:195:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match> operator>>(long long& __n) ^~~~~~~~ /usr/include/c++/7/istream:195:7: note: conversion of argument 1 would be ill-formed: chessboard.cpp:66:29: error: invalid conversion from 'double (*)(double) throw ()' to 'long long int' [-fpermissive] cin >> x1[i] >> y1[i] >> x2[i] >> y2[i]; ~~~~^ chessboard.cpp:66:29: error: cannot bind rvalue '(long long int)(y1 + ((sizetype)i))' to 'long long int&' In file included from /usr/include/c++/7/sstream:38:0, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from chessboard.cpp:1: /usr/include/c++/7/istream:199:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long long unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match> operator>>(unsigned long long& __n) ^~~~~~~~ /usr/include/c++/7/istream:199:7: note: conversion of argument 1 would be ill-formed: chessboard.cpp:66:29: error: invalid conversion from 'double (*)(double) throw ()' to 'long long unsigned int' [-fpermissive] cin >> x1[i] >> y1[i] >> x2[i] >> y2[i]; ~~~~^ chessboard.cpp:66:29: error: cannot bind rvalue '(long long unsigned int)(y1 + ((sizetype)i))' to 'long long unsigned int&' In file included from /usr/include/c++/7/sstream:38:0, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from chessboard.cpp:1: /usr/include/c++/7/istream:235:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(void*&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] <near match> operator>>(void*& __p) ^~~~~~~~ /usr/include/c++/7/istream:235:7: note: conversion of argument 1 would be ill-formed: chessboard.cpp:66:29: error: invalid conversion from 'double (*)(double) throw ()' to 'void*' [-fpermissive] cin >> x1[i] >> y1[i] >> x2[i] >> y2[i]; ~~~~^ chessboard.cpp:66:29: error: cannot bind rvalue '(void*)(y1 + ((sizetype)i))' to 'void*&' In file included from /usr/include/c++/7/sstream:38:0, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from chessboard.cpp:1: /usr/include/c++/7/istream:214:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(float&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] operator>>(float& __f) ^~~~~~~~ /usr/include/c++/7/istream:214:7: note: no known conversion for argument 1 from 'double(double) throw ()' to 'float&' /usr/include/c++/7/istream:218:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(double&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] operator>>(double& __f) ^~~~~~~~ /usr/include/c++/7/istream:218:7: note: no known conversion for argument 1 from 'double(double) throw ()' to 'double&' /usr/include/c++/7/istream:222:7: note: candidate: std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long double&) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__istream_type = std::basic_istream<char>] operator>>(long double& __f) ^~~~~~~~ /usr/include/c++/7/istream:222:7: note: no known conversion for argument 1 from 'double(double) throw ()' to 'long double&' /usr/include/c++/7/istream:259:7: note: candidate: std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(std::basic_istream<_CharT, _Traits>::__streambuf_type*) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::__streambuf_type = std::basic_streambuf<char>] operator>>(__streambuf_type* __sb); ^~~~~~~~ /usr/include/c++/7/istream:259:7: note: no known conversion for argument 1 from 'double(double) throw ()' to 'std::basic_istream<char>::__streambuf_type* {aka std::basic_streambuf<char>*}' In file included from /usr/include/c++/7/string:53:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/istream:38, from /usr/include/c++/7/sstream:38, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from chessboard.cpp:1: /usr/include/c++/7/bits/basic_string.tcc:1465:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> std::basic_istream<_CharT, _Traits>& std::operator>>(std::basic_istream<_CharT, _Traits>&, std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&) operator>>(basic_istream<_CharT, _Traits>& __in, ^~~~~~~~ /usr/include/c++/7/bits/basic_string.tcc:1465:5: note: template argument deduction/substitution failed: chessboard.cpp:66:29: note: mismatched types 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>' an