Submission #156252
Source Code Expand
#!/usr/bin/env python2.7 import sys from collections import namedtuple, defaultdict from bisect import bisect from cStringIO import StringIO import unittest import cProfile def main(): N, = (int(x) for x in sys.stdin.readline().split()) cn = list() for _ in xrange(N): c, = (int(x) for x in sys.stdin.readline().split()) cn.append(c) print solve(cn) def solve(cn): N = len(cn) best = [0] for i in xrange(N): c = cn[i] j = bisect(best, c) if j == len(best): best.append(c) else: best[j] = c return N - len(best) + 1 class Test(unittest.TestCase): @staticmethod def tryone(indata): sys.stdin = StringIO(indata) out = sys.stdout = StringIO() main() return out.getvalue() def test50(self): self.assertEqual(solve([1,3,5,2,4,6]), 2) self.assertEqual(solve([5,4,3,2,1]), 4) self.assertEqual(solve([1,2,3,4,5,6,7]), 0) def test80(self): self.assertEqual(solve(list(range(1, 1001))), 0) self.assertEqual(solve(list(range(1000, 0, -1))), 999) def test81(self): self.assertEqual(solve(list(range(1, 30000))), 0) self.assertEqual(solve(list(range(30000, 0, -1))), 29999) def test91(self): self.assertEqual(self.tryone("""\ 6 1 3 5 2 4 6 """), """2\n""") if __name__ == '__main__': if len(sys.argv) > 1: print "_/" * 30 + str(sys.argv) if sys.argv[1] == '-p': sys.argv.pop(1) cProfile.run("unittest.main(exit=False, failfast=True)", sort='time') else: unittest.main() else: main()
Submission Info
Submission Time | |
---|---|
Task | D - トランプ挿入ソート |
User | over80 |
Language | Python (2.7.3) |
Score | 100 |
Code Size | 1773 Byte |
Status | AC |
Exec Time | 175 ms |
Memory | 5688 KB |
Judge Result
Set Name | smallA | smallB | all | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 10 / 10 | 40 / 40 | 50 / 50 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
smallA | test_01_ABC.txt, test_04_ABC.txt, test_07_ABC.txt, test_10_ABC.txt, test_13_ABC.txt, test_16_ABC.txt, test_19_ABC.txt, test_22_ABC.txt, test_25_ABC.txt, test_28_ABC.txt, test_31_ABC.txt, test_32_ABC.txt, test_35_ABC.txt, test_38_ABC.txt, test_41_ABC.txt, test_44_ABC.txt, test_47_ABC.txt, test_50_ABC.txt, test_53_ABC.txt |
smallB | test_01_ABC.txt, test_02_AB.txt, test_04_ABC.txt, test_05_AB.txt, test_07_ABC.txt, test_08_AB.txt, test_10_ABC.txt, test_11_AB.txt, test_13_ABC.txt, test_14_AB.txt, test_16_ABC.txt, test_17_AB.txt, test_19_ABC.txt, test_20_AB.txt, test_22_ABC.txt, test_23_AB.txt, test_25_ABC.txt, test_26_AB.txt, test_28_ABC.txt, test_29_AB.txt, test_31_ABC.txt, test_32_ABC.txt, test_33_AB.txt, test_35_ABC.txt, test_36_AB.txt, test_38_ABC.txt, test_39_AB.txt, test_41_ABC.txt, test_42_AB.txt, test_44_ABC.txt, test_45_AB.txt, test_47_ABC.txt, test_48_AB.txt, test_50_ABC.txt, test_51_AB.txt, test_53_ABC.txt, test_54_AB.txt |
all | test_01_ABC.txt, test_02_AB.txt, test_03_A.txt, test_04_ABC.txt, test_05_AB.txt, test_06_A.txt, test_07_ABC.txt, test_08_AB.txt, test_09_A.txt, test_10_ABC.txt, test_11_AB.txt, test_12_A.txt, test_13_ABC.txt, test_14_AB.txt, test_15_A.txt, test_16_ABC.txt, test_17_AB.txt, test_18_A.txt, test_19_ABC.txt, test_20_AB.txt, test_21_A.txt, test_22_ABC.txt, test_23_AB.txt, test_24_A.txt, test_25_ABC.txt, test_26_AB.txt, test_27_A.txt, test_28_ABC.txt, test_29_AB.txt, test_30_A.txt, test_31_ABC.txt, test_32_ABC.txt, test_33_AB.txt, test_34_A.txt, test_35_ABC.txt, test_36_AB.txt, test_37_A.txt, test_38_ABC.txt, test_39_AB.txt, test_40_A.txt, test_41_ABC.txt, test_42_AB.txt, test_43_A.txt, test_44_ABC.txt, test_45_AB.txt, test_46_A.txt, test_47_ABC.txt, test_48_AB.txt, test_49_A.txt, test_50_ABC.txt, test_51_AB.txt, test_52_A.txt, test_53_ABC.txt, test_54_AB.txt, test_55_A.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 159 ms | 4412 KB |
sample_02.txt | AC | 76 ms | 4244 KB |
sample_03.txt | AC | 66 ms | 4244 KB |
test_01_ABC.txt | AC | 70 ms | 4404 KB |
test_02_AB.txt | AC | 74 ms | 4416 KB |
test_03_A.txt | AC | 158 ms | 5260 KB |
test_04_ABC.txt | AC | 71 ms | 4416 KB |
test_05_AB.txt | AC | 76 ms | 4408 KB |
test_06_A.txt | AC | 81 ms | 4360 KB |
test_07_ABC.txt | AC | 71 ms | 4416 KB |
test_08_AB.txt | AC | 73 ms | 4400 KB |
test_09_A.txt | AC | 153 ms | 5436 KB |
test_10_ABC.txt | AC | 71 ms | 4412 KB |
test_11_AB.txt | AC | 69 ms | 4412 KB |
test_12_A.txt | AC | 117 ms | 4928 KB |
test_13_ABC.txt | AC | 68 ms | 4412 KB |
test_14_AB.txt | AC | 72 ms | 4364 KB |
test_15_A.txt | AC | 150 ms | 5444 KB |
test_16_ABC.txt | AC | 71 ms | 4352 KB |
test_17_AB.txt | AC | 73 ms | 4404 KB |
test_18_A.txt | AC | 74 ms | 4420 KB |
test_19_ABC.txt | AC | 67 ms | 4408 KB |
test_20_AB.txt | AC | 72 ms | 4412 KB |
test_21_A.txt | AC | 152 ms | 5436 KB |
test_22_ABC.txt | AC | 68 ms | 4344 KB |
test_23_AB.txt | AC | 74 ms | 4364 KB |
test_24_A.txt | AC | 138 ms | 5184 KB |
test_25_ABC.txt | AC | 75 ms | 4416 KB |
test_26_AB.txt | AC | 72 ms | 4412 KB |
test_27_A.txt | AC | 148 ms | 5432 KB |
test_28_ABC.txt | AC | 71 ms | 4244 KB |
test_29_AB.txt | AC | 75 ms | 4412 KB |
test_30_A.txt | AC | 138 ms | 5192 KB |
test_31_ABC.txt | AC | 73 ms | 4248 KB |
test_32_ABC.txt | AC | 76 ms | 4416 KB |
test_33_AB.txt | AC | 75 ms | 4420 KB |
test_34_A.txt | AC | 155 ms | 5688 KB |
test_35_ABC.txt | AC | 68 ms | 4416 KB |
test_36_AB.txt | AC | 70 ms | 4408 KB |
test_37_A.txt | AC | 94 ms | 4668 KB |
test_38_ABC.txt | AC | 69 ms | 4244 KB |
test_39_AB.txt | AC | 82 ms | 4416 KB |
test_40_A.txt | AC | 148 ms | 5436 KB |
test_41_ABC.txt | AC | 66 ms | 4336 KB |
test_42_AB.txt | AC | 82 ms | 4244 KB |
test_43_A.txt | AC | 76 ms | 4548 KB |
test_44_ABC.txt | AC | 73 ms | 4420 KB |
test_45_AB.txt | AC | 75 ms | 4416 KB |
test_46_A.txt | AC | 160 ms | 5440 KB |
test_47_ABC.txt | AC | 70 ms | 4424 KB |
test_48_AB.txt | AC | 68 ms | 4368 KB |
test_49_A.txt | AC | 92 ms | 4548 KB |
test_50_ABC.txt | AC | 74 ms | 4416 KB |
test_51_AB.txt | AC | 75 ms | 4404 KB |
test_52_A.txt | AC | 152 ms | 5440 KB |
test_53_ABC.txt | AC | 80 ms | 4244 KB |
test_54_AB.txt | AC | 71 ms | 4420 KB |
test_55_A.txt | AC | 175 ms | 5436 KB |