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>
using namespace std;
typedef long long ll;
const ll Size=1e5+1;
class point2d{
public:
ll x,y;
};
point2d top[Size],bot[Size];
pair<ll,ll> ans[Size];
void solve(){
ll n,k;
cin>>n>>k;
for(ll i=0;i<=n;i++){
ans[i].first=1e18;
ans[i].second=1e18;
}
for(ll i=0;i<k;i++){
cin>>top[i].y>>top[i].x>>bot[i].y>>bot[i].x;
top[i].y--;
top[i].x--;
bot[i].y--;
bot[i].x--;
}
for(ll i=n/2;i>=1;i--){
if(n%i==0){
if((n/i)%2==1){
ans[i].first=((n/i/2)*(n/i/2+1)*i*i)*2;
ans[i].second=ans[i].first+i*i;
}else{
ans[i].first=n*n/2;
ans[i].second=n*n/2;
}
}
}
ll best_ans=1e18;
for(ll i=1;i<=n/2;i++){
if(ans[i].first!=1e18){
for(ll j=0;j<k;j++){
if(((top[j].x/i)+(top[j].y/i))%2==1){
ans[i].first--;
ans[i].second++;
}else{
ans[i].first++;
ans[i].second--;
}
}
best_ans=min(best_ans,min(ans[i].first,ans[i].second));
}
}
cout<<best_ans<<endl;
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
ll t=1;
while(t--){
solve();
}
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... |