제출 #552659

#제출 시각아이디문제언어결과실행 시간메모리
552659QwertyPiPalembang Bridges (APIO15_bridge)C++14
0 / 100
1 ms340 KiB
#include <bits/stdc++.h>
#define fi first
#define se second
using namespace std;

typedef pair<int, int> pii;

int main(){
	int k, n;
	cin >> k >> n;
	vector<pii> A;
	int add = 0;
	for(int i = 0; i < n; i++){
		char c1, c2; int p1, p2;
		cin >> c1 >> p1 >> c2 >> p2;
		add += abs(p2 - p1);
		if(c1 != c2) add++, A.push_back({min(p1, p2), max(p1, p2)});
	}
	
	int ans1 = 0, c1 = 0, p1 = 0;
	for(int i = 0; i < n; i++){
		c1 += A[i].fi * 2;
	}
	ans1 = c1;
	int l = 0, r = A.size();
	vector<pair<int, int>> q;
	for(int i = 0; i < A.size(); i++){
		q.push_back({A[i].fi, i + 1});
		q.push_back({A[i].se, -i - 1});
	}
	sort(q.begin(), q.end());
	for(int i = 0; i < A.size() * 2; i++){
		c1 += (q[i].fi - p1) * (l - r) * 2;
		p1 = q[i].fi;
		cout << c1 << endl;
		ans1 = min(ans1, c1);
		if(q[i].se > 0) r--;
		else l++;
	}
	cout << add + ans1 << endl;
}

컴파일 시 표준 에러 (stderr) 메시지

bridge.cpp: In function 'int main()':
bridge.cpp:27:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |  for(int i = 0; i < A.size(); i++){
      |                 ~~^~~~~~~~~~
bridge.cpp:32:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |  for(int i = 0; i < A.size() * 2; i++){
      |                 ~~^~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...