#include<stdio.h>
int main(void){
int n,num,max=0;
int p[20]={0},t[20]={0},arr[20]={0};
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d %d",&t[i],&p[i]);
for(int i=n;i>=1;i--){
if(i+t[i]-1<=n){
num=arr[i+t[i]]+p[i];
if(max>num)
arr[i]=max;
else{
arr[i]=num;
max=num;
}
}
else
arr[i]=max;
}
printf("%d",max);
return 0;
}
11053 : 가장 긴 증가하는 부분 (0) | 2021.12.31 |
---|---|
1912 : 연속합 (0) | 2021.12.29 |
2748 : 피보나치 수 2 (0) | 2021.12.23 |
(백준:11047) 동전0_그리디알고리즘 (0) | 2021.07.11 |
(백준:9095) 123더하기_다이나믹알고리즘 (0) | 2021.07.11 |