Submission #678655

# Submission time Handle Problem Language Result Execution time Memory
678655 2023-01-06T09:37:42 Z yellowtoad Star triangles (IZhO11_triangle) C++17
0 / 100
8 ms 9940 KB
#include <iostream>
#include <vector>
using namespace std;

const long long int mod = 1e5+7;
long long int n, x, y, ans;
pair<long long int, long long int> a[3000100];
vector<pair<long long int,long long int>> hx[mod+10], hy[mod+10];

int main() {
	cin >> n;
	for (int i = 1; i <= n; i++) {
		cin >> a[i].first >> a[i].second;
		for (int j = 0; j < hx[a[i].first%mod].size(); j++) {
			if (hx[a[i].first%mod][j].first == a[i].first) {
				hx[a[i].first%mod][j].second++;
				goto skip;
			}
		}
		hx[a[i].first%mod].push_back({a[i].first,1});
		skip:;
		for (int j = 0; j < hy[a[i].second%mod].size(); j++) {
			if (hy[a[i].second%mod][j].first == a[i].second) {
				hy[a[i].second%mod][j].second++;
				goto skipp;
			}
		}
		hy[a[i].second%mod].push_back({a[i].second,1});
		skipp:;
	}
	for (int i = 1; i <= n; i++) {
		for (int j = 0; j < hx[a[i].first%mod].size(); j++) {
			if (hx[a[i].first%mod][j].first == a[i].first) {
				x = hx[a[i].first%mod][j].second;
				goto skippp;
			}
		}
		skippp:;
		for (int j = 0; j < hy[a[i].second%mod].size(); j++) {
			if (hy[a[i].second%mod][j].first == a[i].second) {
				y = hy[a[i].second%mod][j].second;
				goto skipppp;
			}
		}
		skipppp:;
		ans += (x-1)*(y-1);
	}
	cout << ans << endl;
}

Compilation message

triangle.cpp: In function 'int main()':
triangle.cpp:14:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 |   for (int j = 0; j < hx[a[i].first%mod].size(); j++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
triangle.cpp:22:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 |   for (int j = 0; j < hy[a[i].second%mod].size(); j++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
triangle.cpp:32:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |   for (int j = 0; j < hx[a[i].first%mod].size(); j++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
triangle.cpp:39:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   39 |   for (int j = 0; j < hy[a[i].second%mod].size(); j++) {
      |                   ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 3 ms 4948 KB Output is correct
2 Correct 3 ms 4948 KB Output is correct
3 Correct 3 ms 4948 KB Output is correct
4 Correct 3 ms 4948 KB Output is correct
5 Runtime error 8 ms 9940 KB Execution killed with signal 11
6 Halted 0 ms 0 KB -