https://softeer.ai/practice/info.do?eventIdx=1&psProblemId=389&sw_prbl_sbms_sn=18278
[난이도] level3
[유형] 부분합
[풀이]
구간의 합만 알면 평균을 구할 수 있기 때문에 부분합 배열을 이용하면 됩니다.
#include <cstdio>
#include <cmath>
using namespace std;
int N,K,sum[1000001];
int main(){
scanf("%d%d",&N,&K);
for(int i=1;i<=N;i++) {
int v;
scanf("%d",&v);
sum[i]=sum[i-1]+v;
}
while(K--){
int a,b;
scanf("%d%d",&a,&b);
double ans = (double)(sum[b]-sum[a-1])/(b-a+1);
ans=ceil(ans*100)/100;
printf("%.2f\n",ans);
}
}
https://github.com/has2/Problem-Solving/blob/master/softeer/level3/성적_평균.cpp
'Problem-Solving > Softeer' 카테고리의 다른 글
[Softeer/소프티어][level3] 강의실 배정 (C++) (0) | 2021.10.04 |
---|---|
[Softeer/소프티어][level4] H-클린알파 (C++) (0) | 2021.10.04 |
[Softeer/소프티어][level3] 스마트 물류 (C++) (0) | 2021.10.04 |
[Softeer/소프티어][level3] 로봇이 지나간 경로 (C++) (0) | 2021.10.02 |
[Softeer/소프티어][level3] 차세대 지능형 교통시스템 (C++) (0) | 2021.10.02 |