ABC131B問題解いた

投稿者: | 2019年8月15日

台風で暇なので、twitter見ながらA問題とB問題を埋めています。

今回の問題はこれ。無駄にiotaを使っています。

[blogcard url=”https://atcoder.jp/contests/abc131/tasks/abc131_b”]

書いたコードは以下の通り。

#include <iostream>
#include <numeric>
#include <cmath>
using namespace std;
int main(int argc, char const *arga[]) {
  int n,l;
  cin>>n>>l;
  int a[n];
  iota(a,a+n,l);
  int max=accumulate(a,a+n,0);
  if(a[0]<=0&&a[n-1]>=0){
    cout<<max<<endl;
  }else if(a[0]>0){
    cout<<max-a[0]<<endl;
  }else{
    cout<<max-a[n-1]<<endl;
  }
  return 0;
}

他の人の解答見てたらこんなことしてないんですけど、この前にnumeric見ていたので、使ってみっか〜っという感じでiotaを使ってみました。

iotaは第3引数を初期値として整数列を作ります。たま〜に使えそうなので、使っておくかという感じです。

ぶっちゃけ、この問題は整数列なんて作らなくてもいけるので、はいって感じです。

参考文献

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください