Algorithm/Cases-Study

SWEA-1208 Flatten

Xi_kor 2021. 3. 25. 20:34

입력을 받은 뒤 정렬하여 제일 앞에 작은 블록입력을 받은 뒤 정렬하여 제일 앞에 적은 상자의 갯수, 제일 뒤에 많은 상자의 갯수가 오게 하였다. 주어진 횟수만큼 큰 블록을 빼고 작은 블록을 더한 뒤 정렬하는 과정을 반복했고,  그 과정중에 정렬이 완료되었으면 반복문을 빠져나갔다. 

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

int main(){
	vector <int> v;
	for(int T=1; T<=10; T++){
		v.clear();
		int n;
		cin>>n;
		
		for(int i=0; i<100; i++){
			int a;
			cin>>a;
			v.push_back(a);
		}
		sort(v.begin(), v.end());
		
		for(int i=0; i<n; i++){
			if(v[99]>v[0]){
				v[99]--;
				v[0]++;
			}
			else break;
			sort(v.begin(), v.end());
		}
		
		cout<<"#"<<T<<" "<<v[99]-v[0]<<'\n';
	}
	return 0;
}