알고리즘/구현 및 시뮬레이션

[B10025] - 게으른 백곰

tongnamuu 2018. 9. 22. 01:44

https://www.acmicpc.net/problem/10025

숫자범위를 잘 생각해서 구현하면 됩니다.

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
32
33
34
35
36
#include <iostream>
using namespace std;
int a[1000001= { 0, };
int main()
{
    int n, k;
    cin >> n >> k;
    long long sum = 0;
    long long ans = 0;
    int length = 0;
    for (int i = 1; i <= n; i++)
    {
        int u, v;
        cin >> u >> v;
        a[v] = u;
        if (length < v)
            length = v;
    }
    //cout << length << '\n';
    int len = * k + 1;
    if (len > 1000000)
        len = 1000000;
    for (int i = 0; i < len; i++)
    {
        ans += a[i];
    }
    sum = ans;
    for (int i = 0* k + i + <= 1000000 && i <= length; i++)
    {
        sum = sum - a[i] + a[* k + i + 1];
        //cout <<i<<' '<< sum << '\n';
        if (sum > ans)
            ans = sum;
    }
    cout << ans << '\n';
}
cs