목재개수 m이 충분할 경우를 고려하지 않아서 한번 틀렸다. Greedy 알고리즘을 적용하여, 가장 간격이 큰 것부터 나눠나가면 된다. int main() { ofstream fout ("barn1.out"); ifstream fin ("barn1.in"); int m, s, c; fin >> m >> s >> c; vector cow; REP(i, c) { int a; fin >> a; cow.pb(a); } sort(ALL(cow)); vector d; d.pb( make_pair(0, cow[0]) ); for(int i=1; i< cow.size(); i++) d.pb( make_pair(cow[i]-cow[i-1], cow[i]) ); sort(d.rbegin(), d.rend())..