18111_마인크래프트

bgy·2022년 1월 10일
0

백준

목록 보기
18/21

max(), min() : #include<algorithm>
브루트 포스

#include<iostream>
#include<vector>
#include<algorithm>

using namespace std;
int main() {
    int n, m, b;
    cin >> n >> m >> b;
    int max1 = 0;
    int time = 500*500*2*256;
    int a = 0;
    vector<int> v;
    for (int i = 0; i < m * n; i++) {
        int x;
        cin >> x;
        v.push_back(x);
        max1 = max(max1, x);
    }
   
    for (int i = 0; i <= max1; i++) {
        int t = 0;
        int bb = b;
        for (int j = 0; j < m * n; j++) {
            
            int f = i - v[j];
            if (f < 0) {
                t -= 2 * f;
                bb -= f;
            }
            if (f >= 0) {
                t += f;
                bb -= f;
            }
            
        }
        if (bb >= 0) {
            if (time >= t) {
                time = t;
                a = i;
            }
            
        }
    }
    cout << time <<" "<< a;
}

https://www.acmicpc.net/problem/18111

0개의 댓글