{{{ #include #include #include #include #include using namespace std; vector getDistance(const vector& ar) { vector ret( ar.size() - 1 ); for(int i = 0 ; i < ar.size() - 1 ; ++i) ret[i] = ar[i+1] - ar[i]; return ret; } vector getPivot(int numPivot, const vector& distance) { vector ret(distance); sort(ret.begin(), ret.end(), greater()); ret.erase(ret.begin() + numPivot - 1, ret.end()); return ret; } vector getDatas(int& numPivot) { int max, iter; ifstream fin("barn1.in"); fin >> numPivot >> max >> iter; vector ar(iter); if(numPivot > iter) numPivot = iter; for(int i = 0 ; i < iter ; ++i) fin >> ar[i]; fin.close(); sort(ar.begin(), ar.end()); return ar; } int getTotal(int numPivot, const vector& ar, const vector& pivots) { int ret = ar[ ar.size() - 1 ] - ar[0]; for(int i = 0 ; i < pivots.size() ; ++i) ret -= pivots[i]; ret += numPivot; return ret; } int main() { int numPivot; vector data = getDatas(numPivot); vector distance = getDistance(data); vector pivots = getPivot(numPivot, distance); ofstream fout("barn1.out"); fout << getTotal(numPivot, data, pivots) << endl; fout.close(); return 0; } }}} ---- ["[Lovely]boy^_^/USACO"]