Submission #65025709


Source Code Expand

// Problem: D - Line Crossing
// Contest: AtCoder - Tokio Marine & Nichido Fire Insurance Programming Contest 2025  (AtCoder Beginner Contest 402)
// URL: https://atcoder.jp/contests/abc402/tasks/abc402_d
// Memory Limit: 1024 MB
// Time Limit: 2000 ms
// 
// Powered by CP Editor (https://cpeditor.org)

// clang-format off
bool unit_test = false;
#ifndef ONLINE_JUDGE
#include "ahmedsameh"
#else
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
#include <bits/stdc++.h>
#include <unordered_map>
#include <unordered_set>
#include <chrono>
#include <random>
#include <thread>
#include <ctime>
std::mt19937_64 rng(std::chrono::system_clock::now().time_since_epoch().count());
int64_t rand(int64_t l,int64_t r) { return std::uniform_int_distribution<int64_t>(l, r)(rng); }
#define debug(x...) 42
using namespace std;
#endif
#define fo(i, k, n) for(int i = k; k < n ? i <= n : i >= n; k < n ? ++i : --i)
#define fall(arr, x) fill(arr, arr + sizeof(arr) / sizeof(arr[0]), x)
#define rall(vec) (vec).rbegin(), (vec).rend()
#define all(vec) (vec).begin(), (vec).end()
#define check(x) cout << (x ? "YES" : "NO")
#define lcm(a, b) (a * ( b / gcd(a, b)))
#define sz(vec) ((int)vec.size())
#define _CRT_SECURE_NO_WARNINGS
#define gcd(a, b) __gcd(a, b)
#define mod 1000000007
#define mod2 998244353
#define pb push_back
void solve();
signed main()
{
    ios_base::sync_with_stdio(false);
    cout.tie(NULL);
    cin.tie(NULL);
#ifndef ONLINE_JUDGE
    function<void()> solve_parameter = solve;
    ahmed::unit_test(unit_test, solve_parameter);
#else
    solve();
#endif
    return 0;
}
#define int long long
   /*===================================</darkahmed>===================================*\
    
    █████  ██   ██ ███    ███ ███████ ██████   ███████  █████  ███    ███ ███████ ██   ██
   ██   ██ ██   ██ ████  ████ ██      ██   ██  ██      ██   ██ ████  ████ ██      ██   ██
   ███████ ███████ ██ ████ ██ █████   ██   ██  ███████ ███████ ██ ████ ██ █████   ███████
   ██   ██ ██   ██ ██  ██  ██ ██      ██   ██       ██ ██   ██ ██  ██  ██ ██      ██   ██
   ██   ██ ██   ██ ██      ██ ███████ ██████   ███████ ██   ██ ██      ██ ███████ ██   ██
‎                                      ﴾  ﷽  ﴿                                   
‎        ﴾ وَأَن لَّيْسَ لِلْإِنسَانِ إِلَّا مَا سَعَى ۝ وَأَنَّ سَعْيَـهُ سَـوْفَ يُـرَى ۝ ثُمَّ يُجْـزَاهُ الْجَـزَاءَ الْأَوْفَـى ﴿ٰ
   \*==================================================================================*/
// clang-format on
/**
#define if(x) if(0 | x)
#define while(x) while(0 | x)
/**/
void solve()
{
	int n, m;
	cin >> n >> m;
	int freq[n];
	fall(freq, 0);
	for (int i = 0; i < m; i++)
	{
		int a, b;
		cin >> a >> b;
		freq[(a + b) % n]++;
	}
	int ans = m * (m - 1) / 2;
	for (int i = 0; i < n; i++)
	{
		ans -= freq[i] * (freq[i] - 1) / 2;
	}
	cout << ans;
}

Submission Info

Submission Time
Task D - Line Crossing
User darkahmed
Language C++ 20 (gcc 12.2)
Score 400
Code Size 3582 Byte
Status AC
Exec Time 37 ms
Memory 11384 KiB

Compile Error

Main.cpp:70:1: warning: "/*" within comment [-Wcomment]
   70 | /**/
      |  

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 3572 KiB
00_sample_01.txt AC 1 ms 3564 KiB
01_test_00.txt AC 1 ms 3436 KiB
01_test_01.txt AC 5 ms 3508 KiB
01_test_02.txt AC 1 ms 3472 KiB
01_test_03.txt AC 6 ms 3516 KiB
01_test_04.txt AC 1 ms 3568 KiB
01_test_05.txt AC 12 ms 9916 KiB
01_test_06.txt AC 35 ms 10616 KiB
01_test_07.txt AC 32 ms 5884 KiB
01_test_08.txt AC 1 ms 4068 KiB
01_test_09.txt AC 8 ms 7768 KiB
01_test_10.txt AC 35 ms 9208 KiB
01_test_11.txt AC 13 ms 9372 KiB
01_test_12.txt AC 5 ms 11320 KiB
01_test_13.txt AC 35 ms 11320 KiB
01_test_14.txt AC 37 ms 11384 KiB
01_test_15.txt AC 19 ms 11316 KiB
01_test_16.txt AC 5 ms 11348 KiB
01_test_17.txt AC 32 ms 11184 KiB
01_test_18.txt AC 12 ms 9268 KiB
01_test_19.txt AC 12 ms 6964 KiB
01_test_20.txt AC 16 ms 4740 KiB
01_test_21.txt AC 22 ms 11312 KiB
01_test_22.txt AC 19 ms 11280 KiB
01_test_23.txt AC 16 ms 6136 KiB
01_test_24.txt AC 6 ms 10672 KiB
01_test_25.txt AC 19 ms 6564 KiB
01_test_26.txt AC 7 ms 11384 KiB
01_test_27.txt AC 23 ms 11276 KiB
01_test_28.txt AC 1 ms 3536 KiB
01_test_29.txt AC 1 ms 3460 KiB
01_test_30.txt AC 1 ms 3372 KiB
01_test_31.txt AC 20 ms 3512 KiB