본문 바로가기
BOJ

BOJ 17509 And the Winner Is... Ourselves!

by 홍code 2022. 3. 10.

문제 링크 : https://www.acmicpc.net/problem/17509

 

17509번: And the Winner Is... Ourselves!

11 lines are given as the input. The $i$-th line contains two space-separated integers, $D_i$ and $V_i$, where $D_i$ is the amount of minutes required to solve the $i$-th problem, and $V_i$ is the number of incorrect verdicts on the $i$-th problem. For eac

www.acmicpc.net

요약

영어문제... 한국어로 간단히 해석해보자면 T(문제를 푸는 데 걸리는 시간), V(틀린 횟수)를 11번 입력받는다. 문제를 풀 때마다 (T + V*20)이 페널티 점수로 더해진다. 모든 문제를 풀었을 때 가장 작은 페널티 점수를 출력하는 문제.

풀이

T와 V*20값을 더해서 페널티 점수 값을 구하므로 T와 V는 서로에게 영향을 주지 않는다. T는 푸는 문제의 개수가 늘어날떄마다 누적시간이 늘어나므로 문제를 푸는 데 걸리는 시간이 작은 것부터 풀어야 가장 작은 페널티 점수를 받을 수 있다. 정렬해주어서 순서대로 페널티 점수를 구해주었다.

코드

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
vector<pair<int, int>>pq;
int T, V,t,p;
int main() {
	for (int i = 0; i < 11; i++) {
		cin >> T >> V;
		pq.push_back({ T,V });
	}
	sort(pq.begin(), pq.end());
	for (int i = 0; i < 11; i++) {
		t += pq[i].first;
		p += t + pq[i].second * 20;
	}
	cout << p << "\n";
}

'BOJ' 카테고리의 다른 글

BOJ 11000 강의실 배정  (0) 2022.03.10
BOJ 1931 회의실 배정  (0) 2022.03.10
BOJ 1449 수리공 항승  (0) 2022.03.10
BOJ 4796 캠핑  (0) 2022.03.10
BOJ 1182 부분수열의 합  (2) 2022.03.09

댓글