Submission #152120

#TimeUsernameProblemLanguageResultExecution timeMemory
152120gs18103화살표 그리기 (KOI18_arrowH)C++14
100 / 100
50 ms5576 KiB
#include <bits/stdc++.h>
#define fi first
#define se second
#define all(v) v.begin(), v.end()
#define eb emplace_back
#define INF 1e9
#define LINF 1e18
#define g(tp, x) get<x>(tp)

using namespace std;

vector <int> arr[101010];

int main() {
	ios::sync_with_stdio(false); cin.tie(0);

	int n;
	cin >> n;
	for(int i = 1; i <= n; i++) {
		int x, y; cin >> x >> y; arr[y].eb(x);
	}

	long long ans = 0;
	for(int i = 1; i <= n; i++) {
		sort(all(arr[i]));
		for(int j = 0; j < arr[i].size(); j++) {
			int temp = INF;
			if(j) temp = min(temp, arr[i][j]-arr[i][j-1]);
			if(j+1<arr[i].size()) temp = min(temp, arr[i][j+1]-arr[i][j]);
			if(temp != INF) ans += temp;
		}
	}
	cout << ans;
}

Compilation message (stderr)

arrow.cpp: In function 'int main()':
arrow.cpp:26:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int j = 0; j < arr[i].size(); j++) {
                  ~~^~~~~~~~~~~~~~~
arrow.cpp:29:10: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    if(j+1<arr[i].size()) temp = min(temp, arr[i][j+1]-arr[i][j]);
       ~~~^~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...