https://atcoder.jp/contests/abc129/tasks/abc129_a
p,q,r = map(int,input().split())
print(min(p+q,q+r,p+r))
Sélectionnez deux des p, q, r (trois façons) et sélectionnez celui avec le plus petit total.
https://atcoder.jp/contests/abc129/tasks/abc129_b
n = int(input())
w = list(map(int,input().split()))
ans = []
for i in range(1,n):
ans.append(abs(sum(w[:i])-sum(w[i:])))
print(min(ans))
Rechercher tout. Enregistrez la différence entre les totaux jusqu'à i et les totaux de i pour chaque liste. Sortez la valeur minimale.
https://atcoder.jp/contests/abc129/tasks/abc129_c
n,m = map(int,input().split())
a = set([int(input())for _ in range(m)])
dp = [0]*(n+1)
dp[0] = 1
if 1 in a :
dp[1] = 0
else:
dp[1] = 1
for i in range(2,n+1):
if i in a:
continue
dp[i] = (dp[i-1]+dp[i-2])%1000000007
print(dp[n])
La 0ème étape est à sens unique On dit que la première étape monte une étape à partir de la 0e étape. La deuxième étape est à sens unique à partir de la 0e étape 1 voie à partir de la 1ère étape, 2 voies au total La 3ème étape est à sens unique à partir de la 1ère étape 2 voies à partir de la 2ème étape, 3 voies au total
En d'autres termes, n [i] = n [i-1] + n [i-2] Mettez cela en œuvre. S'il correspond à a, le calcul est ignoré.
Recommended Posts