まずは写経から。いきなり写経はどうなの?とは自分でも思いますがとりあえず。
#include <iostream> #include <algorithm> #include <cstdio> int main(void) { int n; std::cin >> n; int max = -1 * 1000000000; int now, ri, min; std::cin >> min; for (auto i = 1; i < n; i++) { std::cin >> ri; printf("before : ri = %d, min = %d, max = %d, now = %d.\n", ri, min, max, now); now = ri - min; max = std::max(max, now); min = std::min(min, ri); printf("after : ri = %d, min = %d, max = %d, now = %d.\n", ri, min, max, now); } printf("max = %d.\n", max); return 0; }
写経と言いつつ微妙に改変してます。途中の debug printf と max の出力部分は、ジャッジには適していないので、最終的には整形する必要がありますのでご注意。
emacs のコピペってどうやるんだっけ?int64 とか使わなくて良い?cin なんて使ったことないけど?とか、なんだかんだでここまで書くのに30分以上かかってます。体裁を気にする悪い癖が出てますね。。反復練習を繰り返すことで、このあたりのノイズを短縮していきたいです。