File tree Expand file tree Collapse file tree 12 files changed +418
-0
lines changed
Expand file tree Collapse file tree 12 files changed +418
-0
lines changed Original file line number Diff line number Diff line change 1+ #!/bin/python3
2+
3+ import math
4+ import os
5+ import random
6+ import re
7+ import sys
8+
9+ # Complete the abbreviation function below.
10+ def abbreviation (a , b ):
11+ if len (b ) > len (a ):
12+ return 'NO'
13+ if len (b ) == len (a ):
14+ a = a .upper ()
15+ return 'YES' if a == b else 'NO'
16+
17+ ap = bp = 0
18+ while ap < len (a ):
19+ if bp < len (b ) and (a [ap ] == b [bp ] or a [ap ].upper () == b [bp ]):
20+ ap += 1
21+ bp += 1
22+ elif a [ap ].islower ():
23+ ap += 1
24+ else :
25+ break
26+ return 'YES' if bp == len (b )- 1 and ap == len (a ) else 'NO'
27+
28+ if __name__ == '__main__' :
29+ fptr = open (os .environ ['OUTPUT_PATH' ], 'w' )
30+
31+ q = int (input ())
32+
33+ for q_itr in range (q ):
34+ a = input ()
35+
36+ b = input ()
37+
38+ result = abbreviation (a , b )
39+
40+ fptr .write (result + '\n ' )
41+
42+ fptr .close ()
Original file line number Diff line number Diff line change 1+ #!/bin/python3
2+
3+ import math
4+ import os
5+ import random
6+ import re
7+ import sys
8+
9+ # Complete the abbreviation function below.
10+ def isEqual (a , b ):
11+ return a == b or a .upper ()== b
12+
13+ def abbreviation (a , b ):
14+ A_LEN = len (a )
15+ B_LEN = len (b )
16+ DP = [[False ]* B_LEN for _ in range (A_LEN )]
17+ DP [0 ][0 ] = isEqual (a [0 ], b [0 ]) or a [0 ].islower ()
18+ for i in range (1 , A_LEN ):
19+ for j in range (B_LEN ):
20+ if j >= 0 and DP [i - 1 ][j - 1 ] and isEqual (a [i ], b [j ]):
21+ DP [i ][j ] = True
22+ if DP [i - 1 ][j ] and a [i ].islower ():
23+ DP [i ][j ] = True
24+ return "YES" if DP [A_LEN - 1 ][B_LEN - 1 ] else "NO"
25+
26+ if __name__ == '__main__' :
27+ fptr = open (os .environ ['OUTPUT_PATH' ], 'w' )
28+
29+ q = int (input ())
30+
31+ for q_itr in range (q ):
32+ a = input ()
33+
34+ b = input ()
35+
36+ result = abbreviation (a , b )
37+
38+ fptr .write (result + '\n ' )
39+
40+ fptr .close ()
Original file line number Diff line number Diff line change 1+ #!/bin/python3
2+
3+ import math
4+ import os
5+ import random
6+ import re
7+ import sys
8+
9+ # Complete the candies function below.
10+ def candies (n , arr ):
11+ dp = [0 ]* n
12+ dp [0 ] = 1
13+ pivot = 0
14+ for i in range (1 , n ):
15+ if arr [i ] > arr [i - 1 ]:
16+ dp [i ] = dp [i - 1 ] + 1
17+ pivot = i
18+ else :
19+ dp [i ] = 1
20+ if pivot + 1 < i :
21+ for idx in range (i - 1 , pivot , - 1 ):
22+ dp [idx ] = dp [idx + 1 ] + 1
23+ if dp [pivot ] < dp [pivot + 1 ]:
24+ dp [pivot ] = dp [pivot + 1 ] + 1
25+
26+ print (dp )
27+ return sum (dp )
28+
29+ if __name__ == '__main__' :
30+ fptr = open (os .environ ['OUTPUT_PATH' ], 'w' )
31+
32+ n = int (input ())
33+
34+ arr = []
35+
36+ for _ in range (n ):
37+ arr_item = int (input ())
38+ arr .append (arr_item )
39+
40+ result = candies (n , arr )
41+
42+ fptr .write (str (result ) + '\n ' )
43+
44+ fptr .close ()
Original file line number Diff line number Diff line change 1+ #!/bin/python3
2+
3+ import math
4+ import os
5+ import random
6+ import re
7+ import sys
8+
9+ # Complete the candies function below.
10+ def candies (n , arr ):
11+ dp = [1 ]* n
12+ for i in range (1 , n ):
13+ if arr [i ] > arr [i - 1 ]:
14+ dp [i ] = dp [i - 1 ] + 1
15+
16+ for j in range (n - 1 , 0 , - 1 ):
17+ if arr [j ] < arr [j - 1 ] and dp [j ] >= dp [j - 1 ]:
18+ dp [j - 1 ] = dp [j ] + 1
19+
20+ return sum (dp )
21+
22+
23+ print (dp )
24+ return sum (dp )
25+
26+ if __name__ == '__main__' :
27+ fptr = open (os .environ ['OUTPUT_PATH' ], 'w' )
28+
29+ n = int (input ())
30+
31+ arr = []
32+
33+ for _ in range (n ):
34+ arr_item = int (input ())
35+ arr .append (arr_item )
36+
37+ result = candies (n , arr )
38+
39+ fptr .write (str (result ) + '\n ' )
40+
41+ fptr .close ()
Original file line number Diff line number Diff line change 1+ #!/bin/python3
2+
3+ import math
4+ import os
5+ import random
6+ import re
7+ import sys
8+
9+ # Complete the luckBalance function below.
10+ def luckBalance (k , contests ):
11+ contests .sort (key = lambda x : (- x [1 ], x [0 ]))
12+ loose_count = len (list (filter (lambda x : x [1 ]== 1 , contests ))) - k
13+ sum_count = 0
14+ for contest in contests [loose_count :]:
15+ sum_count += contest [0 ]
16+ for contest in contests [:loose_count ]:
17+ sum_count -= contest [0 ]
18+ return sum_count
19+
20+ if __name__ == '__main__' :
21+ fptr = open (os .environ ['OUTPUT_PATH' ], 'w' )
22+
23+ nk = input ().split ()
24+
25+ n = int (nk [0 ])
26+
27+ k = int (nk [1 ])
28+
29+ contests = []
30+
31+ for _ in range (n ):
32+ contests .append (list (map (int , input ().rstrip ().split ())))
33+
34+ result = luckBalance (k , contests )
35+
36+ fptr .write (str (result ) + '\n ' )
37+
38+ fptr .close ()
Original file line number Diff line number Diff line change 1+ def findItems (machines ,temp ):
2+ ans = 0
3+ for i in range (len (machines )):
4+ ans += temp // machines [i ]
5+ return ans
6+
7+ def BinarySearch (machines ,goal ,high ):
8+ low = 1
9+ while low < high :
10+ mid = (low + high ) >> 1
11+ item = findItems (machines ,mid )
12+ if item < goal :
13+ low = mid + 1
14+ else :
15+ high = mid
16+ return high
17+ # Complete the minTime function below.
18+ def minTime (machines , goal ):
19+ maxval = - float ('inf' )
20+ for i in range (len (machines )):
21+ maxval = max (maxval , machines [i ])
22+ return BinarySearch (machines ,goal ,maxval * goal )
Original file line number Diff line number Diff line change 1+ #!/bin/python3
2+
3+ import math
4+ import os
5+ import random
6+ import re
7+ import sys
8+
9+ # Complete the pairs function below.
10+ def pairs (k , arr ):
11+ count = 0
12+ arr .sort ()
13+ left , right = 0 , 1
14+ while right < len (arr ) and left < len (arr ):
15+ diff = arr [right ] - arr [left ]
16+ if diff > k :
17+ left += 1
18+ elif diff < k :
19+ right += 1
20+ else :
21+ count += 1
22+ left += 1
23+ right += 1
24+ return count
25+
26+ if __name__ == '__main__' :
27+ fptr = open (os .environ ['OUTPUT_PATH' ], 'w' )
28+
29+ nk = input ().split ()
30+
31+ n = int (nk [0 ])
32+
33+ k = int (nk [1 ])
34+
35+ arr = list (map (int , input ().rstrip ().split ()))
36+
37+ result = pairs (k , arr )
38+
39+ fptr .write (str (result ) + '\n ' )
40+
41+ fptr .close ()
Original file line number Diff line number Diff line change 1+ #!/bin/python3
2+ # greedy 한 해법
3+ import math
4+ import os
5+ import random
6+ import re
7+ import sys
8+
9+ # Complete the pairs function below.
10+ def pairs (k , arr ):
11+ count = 0
12+ d = {}
13+ for i in arr :
14+ d [i ] = i
15+ for j in arr :
16+ g = j + k
17+ if g in d :
18+ count += 1
19+ return count
20+
21+ if __name__ == '__main__' :
22+ fptr = open (os .environ ['OUTPUT_PATH' ], 'w' )
23+
24+ nk = input ().split ()
25+
26+ n = int (nk [0 ])
27+
28+ k = int (nk [1 ])
29+
30+ arr = list (map (int , input ().rstrip ().split ()))
31+
32+ result = pairs (k , arr )
33+
34+ fptr .write (str (result ) + '\n ' )
35+
36+ fptr .close ()
Original file line number Diff line number Diff line change 1+ #!/bin/python3
2+
3+ import math
4+ import os
5+ import random
6+ import re
7+ import sys
8+ from bisect import bisect
9+ # Complete the triplets function below.
10+
11+ def triplets (a , b , c ):
12+ a = sorted (list (set (a )))
13+ b = sorted (list (set (b )))
14+ c = sorted (list (set (c )))
15+
16+ ai = 0
17+ bi = 0
18+ ci = 0
19+
20+ ans = 0
21+
22+
23+ while bi < len (b ):
24+ while ai < len (a ) and a [ai ]<= b [bi ]:
25+ ai += 1
26+ while ci < len (c ) and c [ci ] <= b [bi ]:
27+ ci += 1
28+ ans += ai * ci
29+ bi += 1
30+
31+ return ans
32+
33+ if __name__ == '__main__' :
34+ fptr = open (os .environ ['OUTPUT_PATH' ], 'w' )
35+
36+ lenaLenbLenc = input ().split ()
37+
38+ lena = int (lenaLenbLenc [0 ])
39+
40+ lenb = int (lenaLenbLenc [1 ])
41+
42+ lenc = int (lenaLenbLenc [2 ])
43+
44+ arra = list (map (int , input ().rstrip ().split ()))
45+
46+ arrb = list (map (int , input ().rstrip ().split ()))
47+
48+ arrc = list (map (int , input ().rstrip ().split ()))
49+
50+ ans = triplets (arra , arrb , arrc )
51+
52+ fptr .write (str (ans ) + '\n ' )
53+
54+ fptr .close ()
You can’t perform that action at this time.
0 commit comments