Submission #65015211


Source Code Expand

//People who believe in miracles are as amazing as miracles themselves.
#include<bits/stdc++.h>
#define ll long long
using namespace std;
inline ll read(){
    ll x=0,f=1;char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-') f=-f;ch=getchar();}
    while(ch>='0'&&ch<='9')x=(x<<3)+(x<<1)+(ch^48),ch=getchar();
    return x*f;
}

const int N=1e6+10;
int n,m; ll ans; map<pair<int,int>,int> mp;

inline void solve(){
    n=read(),m=read();
    for(int i=1;i<=m;++i){
        int x=read(),y=read(),p=(x+y)/2;
        if((x+y)&1){
            if(n&1){
                p=(x+y+n)/2,p=(p-1)%n+1;
                mp[make_pair(p,p)]++;
            }
            else{
                if(p>n/2) p-=n/2;
                mp[make_pair(p,p+1)]++;
            }
        }
        else{
            if(!(n&1)){
                if(p>n/2) p-=n/2;
            }
            mp[make_pair(p,p)]++;
        }
    }
    ans=(ll)m*(m-1)/2;
    for(auto [_,num]:mp) ans-=(ll)num*(num-1)/2;
    printf("%lld\n",ans);
}

signed main(){
#ifndef ONLINE_JUDGE
    freopen("../1.in","r",stdin);
    freopen("../1.out","w",stdout);
#endif
    return solve(),0;
}

Submission Info

Submission Time
Task D - Line Crossing
User include_BM
Language C++ 20 (gcc 12.2)
Score 400
Code Size 1179 Byte
Status AC
Exec Time 210 ms
Memory 19832 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 2
AC × 34
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt
All 00_sample_00.txt, 00_sample_01.txt, 01_test_00.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt, 01_test_25.txt, 01_test_26.txt, 01_test_27.txt, 01_test_28.txt, 01_test_29.txt, 01_test_30.txt, 01_test_31.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 3604 KiB
00_sample_01.txt AC 1 ms 3672 KiB
01_test_00.txt AC 1 ms 3680 KiB
01_test_01.txt AC 6 ms 3764 KiB
01_test_02.txt AC 1 ms 3612 KiB
01_test_03.txt AC 6 ms 3828 KiB
01_test_04.txt AC 1 ms 3608 KiB
01_test_05.txt AC 29 ms 7896 KiB
01_test_06.txt AC 210 ms 19560 KiB
01_test_07.txt AC 176 ms 15580 KiB
01_test_08.txt AC 1 ms 3788 KiB
01_test_09.txt AC 16 ms 6264 KiB
01_test_10.txt AC 204 ms 19160 KiB
01_test_11.txt AC 39 ms 8840 KiB
01_test_12.txt AC 1 ms 3692 KiB
01_test_13.txt AC 183 ms 18388 KiB
01_test_14.txt AC 210 ms 19832 KiB
01_test_15.txt AC 74 ms 11588 KiB
01_test_16.txt AC 1 ms 3820 KiB
01_test_17.txt AC 162 ms 17356 KiB
01_test_18.txt AC 34 ms 8660 KiB
01_test_19.txt AC 38 ms 8896 KiB
01_test_20.txt AC 92 ms 13404 KiB
01_test_21.txt AC 98 ms 13656 KiB
01_test_22.txt AC 72 ms 11732 KiB
01_test_23.txt AC 9 ms 3588 KiB
01_test_24.txt AC 2 ms 3604 KiB
01_test_25.txt AC 11 ms 3656 KiB
01_test_26.txt AC 2 ms 3608 KiB
01_test_27.txt AC 11 ms 3672 KiB
01_test_28.txt AC 1 ms 3672 KiB
01_test_29.txt AC 1 ms 3604 KiB
01_test_30.txt AC 1 ms 3608 KiB
01_test_31.txt AC 14 ms 3792 KiB