제출 #833689

#제출 시각아이디문제언어결과실행 시간메모리
833689ALeonidou메기 농장 (IOI22_fish)C++17
0 / 100
19 ms7764 KiB
#include "fish.h" #include <bits/stdc++.h> using namespace std; #define ll int #define sz(x) (ll)x.size() #define F first #define S second #define pb push_back #define MID ((l+r)/2) #define dbg(x) cout<<#x<<": "<<x<<endl; #define dbg2(x,y) cout<<#x<<": "<<x<<" "<<#y<<": "<<y<<endl; #define dbg3(x,y,z) cout<<#x<<": "<<x<<" "<<#y<<": "<<y<<" "<<#z<<": "<<z<<endl; typedef vector <ll> vi; typedef vector <long long > vl; typedef pair <ll,ll> ii; typedef vector <ii> vii; void printVct(vl &v, string s = ""){ cout<<s<<": "; for (ll i=0; i<sz(v); i++){ cout<<v[i]<<" "; } cout<<endl; } ll n,m; vl arr, dp; long long solve(ll c){ if (c >= n-1) return 0; if (dp[c] == -1){ dp[c] = max(arr[c+1] + solve(c+2), solve(c+1)); } return dp[c]; } long long max_weights(int N, int M, vi X, vi Y, vi W) { n= N, m =M; long long ans = 0; dp.assign(n, -1); arr.assign(n, 0); for (ll i =0 ; i<m; i++){ arr[X[i]] = W[i]; } long long a = solve(0); long long b = solve(1) + arr[0]; ans = max(a,b); return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...