티스토리 뷰

알고리즘/SWEA

[SWEA 1208] Flatten

히더 2018. 8. 6. 16:28

출처 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV139KOaABgCFAYh


#include <iostream>

#include <algorithm>

#include <vector>

#include <functional>

using namespace std;


int result, D;

vector <int> v1;


void cal()

{

result = (v1[0] - v1[99]);

while (D--)

{

if ((v1[0] - v1[99]) > 1)

{

v1[0]--; v1[99]++;

for (int i = 1; i<99; i++)

{

if (!(v1[0] < v1[i])) break;


if ((v1[0] < v1[i]) && (v1[i + 1] <= v1[0]))

{

int tmp = v1[0];

v1.erase(v1.begin());

v1.insert(v1.begin() + i,tmp);

break;

}

}

for (int i = 98; i>=1; i--)

{

if (!(v1[99] >= v1[i])) break;


if ((v1[99] >= v1[i]) && (v1[i - 1] >= v1[99]))

{

int tmp2 = v1[99];

v1.pop_back();

v1.insert(v1.begin() + i, tmp2);

break;

}

}

result = (v1[0] - v1[99]);

}

else break;


}


}


int main()

{

int T = 10; int t = 1;

while (T--)

{

cin >> D; result = 0; v1.clear();

for (int i = 0; i < 100; i++)

{

int iii; cin >> iii; v1.push_back(iii);

}

sort(v1.begin(), v1.end(), greater<int>());


cal();


cout << "#" << t++ << " " << result << endl;

}


return 0;

}


'알고리즘 > SWEA' 카테고리의 다른 글

[SWEA 1209] Sum  (0) 2018.08.06
[SWEA 1204] 최빈수 구하기  (0) 2018.08.06
[SWEA 1206] View  (0) 2018.08.05
[SWEA 4672] 수진이의 팰린드롬  (0) 2018.07.29
[SWEA 4796] 의석이의 우뚝 선 산  (0) 2018.07.26
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함