fork(1) download
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. public class Test
  5. {
  6. static void Main(string[] args) {
  7. var list = new List<Tuple<DateTime,int>>();
  8. list.Add(Tuple.Create(DateTime.Parse("1/29/2018"), 1));
  9. list.Add(Tuple.Create(DateTime.Parse("1/25/2018"), 2));
  10. list.Add(Tuple.Create(DateTime.Parse("1/20/2018"), 3));
  11. list.Add(Tuple.Create(DateTime.Parse("1/10/2018"), 4));
  12. list.Add(Tuple.Create(DateTime.Parse("1/3/2018"), 5));
  13. Console.WriteLine(~list.BinarySearch(Tuple.Create(DateTime.Parse("1/1/2018"), 0), TupleCompare.Instance)-1);
  14. Console.WriteLine(~list.BinarySearch(Tuple.Create(DateTime.Parse("1/5/2018"), 0), TupleCompare.Instance)-1);
  15. Console.WriteLine(~list.BinarySearch(Tuple.Create(DateTime.Parse("1/28/2018"), 0), TupleCompare.Instance)-1);
  16. Console.WriteLine(~list.BinarySearch(Tuple.Create(DateTime.Parse("2/1/2018"), 0), TupleCompare.Instance)-1);
  17. }
  18.  
  19. class TupleCompare : IComparer<Tuple<DateTime,int>> {
  20. public static readonly TupleCompare Instance = new TupleCompare();
  21. public int Compare(Tuple<DateTime,int> x, Tuple<DateTime,int> y) {
  22. return -x.Item1.CompareTo(y.Item1);
  23. }
  24. }
  25. }
Success #stdin #stdout 0.03s 16096KB
stdin
Standard input is empty
stdout
4
3
0
-1