Codeforces #34 (div2) A "Reconnaissance 2"
問題:http://codeforces.com/contest/34/problem/A
本番.
円上に並んだ兵士の背の高さが与えられて,背の高さの差が一番小さい二人を求める.
値を保持しなくてもいいけど,最初と最後もまとめて計算したかったのでループで処理できるようにした.
import java.util.*; public class A_Reconnaissance2 { public static void main(String[] args) { Scanner s = new Scanner(System.in); int n=s.nextInt(),min=Integer.MAX_VALUE,r1=0,r2=0; int[]a=new int[n]; for(int i=0;i<n;++i){ a[i]=s.nextInt(); } for(int i=0;i<n;++i){ if(min>Math.abs(a[i]-a[(i+1)%n])){ min = Math.abs(a[i]-a[(i+1)%n]); r1=i+1; r2=1+(i+1)%n; } } System.out.println(r1+" "+r2); } }