본문 바로가기
알고리즘/Codeforces

Educational Codeforces Round 93 (Rated for Div. 2) AB

by 유시은 2020. 8. 15.
from sys import stdin
def input(): return stdin.readline().rstrip()
 
for _ in range(int(input())):
    L=int(input())
    s=list(map(int,input().split()))
    if s[0]+s[1]>s[-1]:
        print(-1)
    else:
        print(1,2,L)

 

A - Bad Triangle

 

 

입력이 오름차순이므로 1, 2번과 마지막번만 비교하면 된다.

 

 

from sys import stdin
def input(): return stdin.readline().rstrip()
 
for _ in range(int(input())):
    s=input().split("0")
    for i in range(len(s)):
        s[i]=len(s[i])
    s=sorted(s)
    score=0
    while len(s)>0:
        score+=s.pop(-1)
        if len(s)>0:
            s.pop(-1)
    print(score)

 

B - Substring Removal Game

 

 

0은 몇개이든 중요하지 않으니 0을 기준으로 입력을 분리한다.

 

이를 정렬한 다음 가장 큰 값을 1번이라고 할 때 홀수번째 값들을 모두 합한다.

'알고리즘 > Codeforces' 카테고리의 다른 글

Codeforces Round #669 (Div. 2) ABC  (0) 2020.09.09
Codeforces Round #666 (Div. 2) AC  (0) 2020.08.31
Codeforces Round #664 (Div. 2) AB  (0) 2020.08.13
Codeforces Round #663 (Div. 2) ABC  (0) 2020.08.10
Codeforces Round #662 (Div. 2) ABC  (0) 2020.08.08

댓글