問題の内容は、株価グラフ内で、最大どれくらいの損が出るかを調べる問題。
最初は普通に2重for文で作ったものの、即タイムアウト。
1つのfor文内でコネコネしてなんとか合格。
using System; using System.Linq; using System.IO; using System.Text; using System.Collections; using System.Collections.Generic; /** * Auto-generated code below aims at helping you parse * the standard input according to the problem statement. **/ class Solution { static void Main(string[] args) { //標本点の数n int n = int.Parse(Console.ReadLine()); //株価データ読み込み string[] sv = Console.ReadLine().Split(' '); //株価データを配列に格納 Int32[] v = new Int32[n]; for(int i = 0; i < n; i++) { v[i] = Int32.Parse(sv[i]); } //株価の差 Int32 min = 0; //高い点 int pu = 0; //低い点 int pd = 1; //低い点から順番に見る for(int i = pd; i < n; i++) { //より高い点があれば更新 if(v[pu] < v[i]) pu = i; //差が大きいものを選択 Int32 tsub = v[i] - v[pu]; if(min > tsub) min = tsub; } Console.WriteLine(min); } }
- 作者: 山中剛
- 出版社/メーカー: JSpace
- 発売日: 2013/11/25
- メディア: Kindle版
- この商品を含むブログを見る