제출 #140674

#제출 시각아이디문제언어결과실행 시간메모리
140674khrbuddy03리조트 (KOI16_resort)C++14
100 / 100
3 ms504 KiB
#include <bits/stdc++.h> using namespace std; int n, m; bool arr[109]; int memo[109][109]; int solve(int day, int cup) { if (day >= n) return 0; int &ret = memo[day][cup]; if (ret != -1) return ret; ret = 1e9 + 9; if (arr[day] == 1) { ret = min(ret, solve(day + 1, cup)); } ret = min(ret, solve(day + 1, cup) + 10000); ret = min(ret, solve(day + 3, cup + 1) + 25000); ret = min(ret, solve(day + 5, cup + 2) + 37000); if (cup >= 3) { ret = min(ret, solve(day + 1, cup - 3)); } return ret; } int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n >> m; for (int i = 0; i < m; i++) { int num; cin >> num; arr[--num] = true; } fill(&memo[0][0], &memo[108][109], -1); cout << solve(0, 0) << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...