๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ”ฅ PS(Problem Solving) ๐Ÿ”ฅ/BOJ

[BOJ] #14501 ํ‡ด์‚ฌ

by dar0m! 2019. 9. 19.
์‹œ๊ฐ„ ์ œํ•œ ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ ์ •๋‹ต ๋น„์œจ
2 ์ดˆ 512 MB 46.680%

 

 

14501๋ฒˆ: ํ‡ด์‚ฌ

์ฒซ์งธ ์ค„์— ๋ฐฑ์ค€์ด๊ฐ€ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ด์ต์„ ์ถœ๋ ฅํ•œ๋‹ค.

www.acmicpc.net

 

์ฃผ์–ด์ง„ N์ผ ๋™์•ˆ์— ๋ฐฑ์ค€์ด๊ฐ€ ์ตœ๋Œ€์˜ ์ด์ต์„ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ์ผ์„ ์„ ํƒํ•ด์•ผ ํ•œ๋‹ค.

 

ํ‹€๋ ธ๋˜ ์ด์œ 

์‹œ์ž‘ํ•˜๋Š” ๋‚ ์งœ๋ฅผ st, ๋๋‚˜๋Š” ๋‚ ์งœ๋ฅผ end ๋ณด์ˆ˜๋ฅผ p ๋ผ๊ณ  ๋ดค์„ ๋•Œ end ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ์„ ํ•˜์—ฌ p๋ฅผ ๋”ํ–ˆ๋‹ค๊ฐ€ ํ‹€๋ ค๋ฒ„๋ ธ๋‹ค.. ๋ถ„๋ช… 2๋…„ ์ „ ์Šคํ„ฐ๋””ํ•˜๋ฉด์„œ ํ’€์—ˆ์„ ๋•Œ๋Š” ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์ด๋ ‡๊ฒŒ ํ’€์—ˆ์—ˆ๋Š”๋ฐ ์˜ˆ์™ธ์ฒ˜๋ฆฌ๊ฐ€ ๋– ์˜ค๋ฅด์ง€ ์•Š์•„ dp๋กœ ๊ณ ์ณ์„œ ๋‹ค์‹œ ํ’€์—ˆ๋‹ค.

 

๋ฉ”๋ชจ๋ฆฌ ์‹œ๊ฐ„
1988 KB 0 ms
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
26
27
28
29
30
31
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
typedef pair<intint> p;
vector<pair<p, int>> v;
 
bool cmp(pair<p, int > a, pair<p, int> b) {
    return a.first.second < b.first.second;
}
int n;
int main() {
    scanf("%d"&n);
    for (int i = 1, a, b; i <= n; i++) {
        scanf("%d %d"&a, &b);
        v.push_back({ {i, i+a}, b });
    }
    sort(v.begin(), v.end(), cmp);
 
    int st = 0end = 0, ans = 0;
    for (int i = 0; i < v.size(); i++) {
        if (v[i].first.second > n+1continue;
        if (v[i].first.first >= end) {
            ans += v[i].second;
            end = v[i].first.second;
        }
    }
    printf("%d", ans);
    return 0;
}
 
cs

 

 

ํ‹€๋ ธ๋˜ ์ฝ”๋“œ๋ฅผ ๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด ์—ฌ๊ธฐ๋กœ...

๋Œ“๊ธ€