C언어/C언어 문제
[C언어] 백준 17950번: 스노우볼
renne
2022. 8. 19. 19:04
https://www.acmicpc.net/problem/17950
17950번: 스노우볼
오늘도 과제산에서는 크고 작은 스노우볼들이 굴러가고 있다. 과제산 아래에서 살고 있는 정명이는 이 스노우볼이 너무 커져서 집을 무너뜨릴까 걱정이다. 시작은 아무리 작은 스노우볼이라도,
www.acmicpc.net
#include <stdio.h>
int main(){
int h, x, snow, div = 1000000007;
long long sum = 0, mul;
scanf("%d %d", &h, &x);
mul = x;
for (int i = 0; i < h; i++){
scanf("%d", &snow);
sum += (long long)snow * mul;
sum %= div;
mul *= x; //i가 1 증가하면(산의 높이가 1cm 증가하면) 스노우볼에 x를 전보다 1번 더 곱해야 한다.
mul %= div;
}
printf("%lld", sum);
return 0;
}
[문제]
h: 산의 높이
x: 스노우볼이 1cm 내려올 때마다 커지는 배수
[입력]
1번째 줄: h x
2번째 줄부터:
2번째 줄 | 1cm에서 만들어진 스노우볼의 개수: 1 | |
3번째 줄 | 2cm에서 만들어진 스노우볼의 개수: 3 | |
⋮ | ⋮ |