ABC115C解けた

投稿者: | 2018年12月31日

暇すぎたので久しぶりに問題解いてました。久しぶりにやりすぎたせいで、vectorの宣言とか忘れてて、「これもうだめかもわからんね」状態。

今回解いた問題は次の通り。

[blogcard url=”https://atcoder.jp/contests/abc115/tasks/abc115_c”]

普通に簡単な問題でしたが、自力で解法を思いつかなかったので、頭わるいなあって思いました。

#include <iostream>
#include <vector>
#include <algorithm>
#include <climits>
using namespace std;
int main(int argc, char const *argv[]) {
int n,k;
cin>>n>>k;
vector<int> v(n);
for(int i=0;i<n;i++){
cin>>v[i];
}
sort(v.begin(),v.end());
int min=INT_MAX;
for(int i=0;i+k-1<n;i++){
int tmp=v[i+k-1]-v[i];
if(tmp<min) min=tmp;
}
cout<<min<<endl;
return 0;
}

やることは単純、sortして、i番目とi+k番目の差をとって、その最小値を探すだけです。最悪B問題レベルでは・・・?となりましたが、自力で解けなかったので猛省。ちゃんとやります。

コメントを残す

This site uses Akismet to reduce spam. Learn how your comment data is processed.