๋์ด๋ | ์ ๋ต๋ฅ |
โ โ | 62.7% |
๋ฌธ์
์ํฌ=์ ์น์์
์ ์น์ ์ ๋ฅ์ฅ์ ๊ฒฝ์ฐํ๋ N๋๊ฐ ์๊ณ , ๊ฐ ๋ฒ์ค๋ง๋ค ๊ทธ ๋ ์ ์ต์ด ์ดํ ์๊ฐ s์ ์ ํด์ง ๋ฃจํธ๋ฅผ ๋๊ณ ๋ค์ ์์์น๋ก ์ค๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ d๊ฐ ์์ต๋๋ค.
์ ๋ฅ์ฅ์ ๊ฐ์ฅ ๋จผ์ ๋์ฐฉํ๋ ๋ฒ์ค๋ฅผ ํ๋ ค๊ณ ํฉ๋๋ค. ๊ฐ ๋ฒ์ค๋ 1๋ฒ๋ถํฐ N๋ฒ๊น์ง ๋ฒํธ๊ฐ ๋งค๊ฒจ์ ธ ์๊ณ , ๋ง์ฝ ์ ๋ฅ์ฅ์ ๊ฐ์ฅ ๋จผ์ ๋์ฐฉํ๋ ๋ฒ์ค๊ฐ ์ฌ๋ฌ ๋๋ผ๋ฉด ๋ฒํธ๊ฐ ๋ ์์ ๋ฒ์ค๋ฅผ ํ๋ค๊ณ ํฉ๋๋ค.
์ํฌ๊ฐ ์ ๋ฅ์ฅ์ ๋์ฐฉํ ์๊ฐ์ด T์ผ ๋, ์ํฌ์ ์ํฌ๊ฐ ํ๊ฒ ๋ ๋ฒ์ค๋ ๋ช ๋ฒ์ธ์ง ๊ตฌํด์ฃผ์ธ์.
ํด๊ฒฐ
key point, ๊ฐ ๋ฒ์ค๋ง๋ค ๋์ฐฉ์๊ฐ์ด T์ ๊ฐ๊ฑฐ๋ ํฌ๊ฒ ๋๋ ์ต์ด์ ์๊ฐ๋ง ์ฐพ์ผ๋ฉด ๋๋ค.
- i๋ฒ์งธ ๋ฒ์ค์ ์ต์ด ์ดํ ์๊ฐ s์, ๋ค์ ์ ๋ฅ์ฅ์ผ๋ก ๋์์ค๊ฒ๋๋ ์๊ฐ d๋ฅผ arr[i]์ ์ ์ฅํ๋ค.
- 1๋ฒ ๋ถํฐ N๋ฒ ๋ฒ์ค์ ๋ํด์ ๊ฐ ๋ฒ์ค์ ํด๋นํ๋ d๋ฅผ s์ ๋ํ๋ค.
- s๊ฐ ์ํฌ๊ฐ ์ ๋ฅ์ฅ์ ๋์ฐฉํ๋ ์๊ฐ์ธ t๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ ๋๊น์ง ๋ํด์ค๋ค.
- ๊ทธ๋ฆฌํ์ฌ ๊ตฌํด๋ธ i๋ฒ์งธ ๋ฒ์ค๊ฐ T์ ๊ฐ๊ฑฐ๋ ํฌ๊ฒ๋๋ ์ต์ด์ ์๊ฐ์ ๋ช ๋ฒ์งธ ๋ฒ์ค์ธ์ง v๋ฐฐ์ด์ pair๋ก ์ ์ฅํ๊ณ
- v๋ฐฐ์ด์ ์ ๋ ฌํ์ฌ v๋ฐฐ์ด ์ฒซ ๋ฒ์งธ ์ธ๋ฑ์ค์ ์๋ ๋ฒ์ค๋ฒํธ๋ฅผ ์ถ๋ ฅํ๋ค.
while๋ฌธ ์์ ๋งค๋ฒ v.push_back()์ ์ด์ฉํ์ฌ ๋ฃ์๋ค๊ฐ 4๋ฒ ํ ์คํธ์ผ์ด์ค์์ ์๊ฐ์ด๊ณผ๊ฐ ๋ฌ์๋ค. ์ฌ์ค์ while๋ฌธ ๋ฐ๊นฅ์ผ๋ก ๋์์ ๋๊ฐ i๋ฒ์งธ ๋ฒ์ค์ ๋์ฐฉ์๊ฐ์ด T์ ๊ฐ๊ฑฐ๋ ํฌ๊ฒ ๋๋ ์ต์ด์ ์๊ฐ์ด๋ฏ๋ก while๋ฌธ ๋ฐ๊นฅ์ผ๋ก ๋บ๋๋ ํด๊ฒฐ๋์๋ค. ์์ผ๋ก๋ ์ ์ํ๊ธ...
์ฝ๋
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
typedef pair<int, int> p;
p arr[100005];
vector<p> v;
int n, t, ans;
int main() {
scanf("%d %d", &n, &t);
for (int i = 1, s, d; i <= n; i++) {
scanf("%d %d", &s, &d);
arr[i] = { s, d };
}
for (int i = 1; i <= n; i++) {
while (arr[i].first < t) {
arr[i].first += arr[i].second;
}
v.push_back({ arr[i].first, i });
}
sort(v.begin(), v.end());
printf("%d", v[0].second);
return 0;
}
|
cs |
'๐ฅ PS(Problem Solving) ๐ฅ > goorm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๊ตฌ๋ฆLEVEL] A4 ์ฉ์ง๋ฅผ ๋ง๋ค์ (0) | 2020.03.16 |
---|---|
[๊ตฌ๋ฆLEVEL] ์ด๋ ค์ด ๋ฌธ์ (0) | 2020.03.16 |
[๊ตฌ๋ฆLEVEL] 1๋ฑ๊ณผ 2๋ฑ (0) | 2020.03.16 |
[๊ตฌ๋ฆLEVEL] ํต์ ๋น ๊ณ์ฐํ๊ธฐ (0) | 2020.03.12 |
[๊ตฌ๋ฆLEVEL] ๊ทผ๋ฌต์ํ (0) | 2020.03.12 |
๋๊ธ