1073D : Berland Fair

풀이

안녕 내 사랑, 돌아보지마.
너 떠나도 나 울지 않을게.
부족했던 내가 더 많이 미안해.
이렇게 사랑이 끝나간다.

코드

#include <cstdio>
#include <algorithm>
using namespace std;
typedef long long ll;
int n, mn = 2e9, a[200002];
ll t, ans;
int main() {
    scanf("%d %lld", &n, &t);
    for (int i = 0; i < n; i++) {
        scanf("%d", &a[i]);
        if (mn > a[i]) mn = a[i];
    }
    while (mn <= t) {
        ll cnt = 0, sum = 0, tmp = t;
        for (int i = 0; i < n; i++) {
            if (tmp < a[i]) continue;
            tmp -= a[i];
            sum += a[i];
            cnt++;
        }
        ans += cnt*(t/sum);
        t %= sum;
    }
    printf("%lld", ans);
    return 0;
}
wookje.kwon's profile image

wookje.kwon

2018-11-06 22:57

Read more posts by this author