[C++] 백준 5800 : 성적 통계

Kim Nahyeong·2022년 2월 8일
0

백준

목록 보기
83/157

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int K, N;
int x;
int main(int argc, char **argv){
  scanf("%d",&K);

  for(int i=0; i<K; i++){
    int gap = -1; // 오름차순이므로 이전수 - 현재수 < 0 일 수 없다.
    vector<int> v;
    
    scanf("%d",&N);
    
    for(int j=0; j<N; j++){
      scanf("%d", &x);
      v.push_back(x);
    }
    sort(v.begin(),v.end(), greater<>()); // 내림차순 정렬

    for(int j=0; j<N-1; j++){
      if(gap < v[j] - v[j+1]){
        gap = v[j] - v[j+1];
      }
    }

    printf("Class %d\n", i + 1);
    printf("Max %d, Min %d, Largest gap %d\n", v[0], v[N-1], gap);
  }

  return 0;
}

STL sort 사용하면 아주 쉽게 풀리는 문제!

0개의 댓글