//全部試して一番良いものを取る→TLE, 実装難 //小さい数で大きさ1のグループを作り、残りをでかいグループにする→WA( K = 3, {8, 10, 10, 20}とかで死ぬ ) //考察: //・どんな割り振り方をしても、グループ平均は、min(Ai)未満にできないしmax(Ai)を超えることもできない。 //・K >= 2なら、min(Ai)のグループとmax(Ai)のグループを作ることができる。 // //したがって答えは、max(Ai) - min(Ai) #include using namespace std; int pwd( int a, int n ){ if( n == 0 ) return 1; return a * pwd(a, n - 1); } int n; int k; int c[9]; int maxArray( int *a, int n ){ int ret = a[0]; for( int i = 1; i < n; i++ ) ret = max(a[i], ret); return ret; } int minArray( int *a, int n ){ int ret = a[0]; for( int i = 1; i < n; i++ ) ret = min(a[i], ret); return ret; } int main() { int i, j; cin >> n >> k; for( int i = 0; i < n; i++ ) cin >> c[i]; cout << maxArray(c, n) - minArray(c, n) << endl; return 0; }