https://softeer.ai/practice/info.do?eventIdx=1&psProblemId=389&sw_prbl_sbms_sn=18278
Softeer
제한시간 : C/C++(1초), Java/Python(2초) | 메모리 제한 : 256MB N명의 학생들의 성적이 학번순서대로 주어졌다. 학번 구간 [A, B]가 주어졌을 때 이 학생들 성적의 평균을 구하는 프로그램을 작성하라. 입
softeer.ai
[난이도] 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 |