TopCoder SRM609: MagicalStringDiv1
任意の切れ目で、2つの文字列に分割して、左側の '>' の個数と右側の '<' の個数を見るようにすると実装が楽。
public class MagicalStringDiv1 { public int getLongest(string S) { int n = S.Length; int ans = 0; for (int i = 0; i < n; i++) { var left = S.Take(i).Count(c => c == '>'); var right = S.Skip(i).Count(c => c == '<'); ans = Math.Max(ans, Math.Min(left, right)); } return ans * 2; } }