美团算法笔试
第一题,工作安排
第一周不能选复杂的任务
#include<bits/stdc++.h>
using namespace std;
int main()
{
int N = 0;
cin >> N;
if (N == 0)
cout << 0 << endl;
vector<pair<float, float>> vec(N);
vector<float> dp(N, 0);
for (int i = 0; i < N; ++i)
{
float l = 0., h = 0.;
cin >> l >> h;
vec[i] = make_pair(l, h);
}
for (int i = 0; i < int(vec.size()); ++i)
{
float v = 0;
if ((i - 2) >= 0)
v = dp[i - 2];
if (i == 0)
dp[i] = vec[i].first;
else
dp[i] = max(vec[i].first + dp[i - 1], vec[i].second + v);
}
cout << dp[N - 1] << endl;
return 0;
}
MDPI公司福利 441人发布

