알고리즘
[C++] SWEA [S/W 문제해결 기본] 1일차 - Flatten
jordancancode
2024. 11. 18. 20:08
출처
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV139KOaABgCFAYh
풀이
#include <bits/stdc++.h>
using namespace std;
vector<int> boxes = vector<int>(100, 0);
int result, cnt;
void flatten() {
for (int i = 0; i < cnt; i++){
int minIdx = min_element(boxes.begin(), boxes.end()) - boxes.begin();
int maxIdx = max_element(boxes.begin(), boxes.end()) - boxes.begin();
boxes[minIdx]++;
boxes[maxIdx]--;
}
result = *max_element(boxes.begin(), boxes.end()) - *min_element(boxes.begin(), boxes.end());
}
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
for (int t = 1; t <= 10; t++){
result = 0;
cin >> cnt;
for (int i = 0; i < 100; i++){
cin >> boxes[i];
}
flatten();
cout << "#" << t << " " << result << endl;
}
}
반응형