题目链接:https://codeforces.com/gym/102392/problem/E 题意:给定n个人年龄,年龄达到lc才能骑车,骑车可以载k-1人,骑车代价为pc;年龄达到lm才能骑motor,motor不能载人;可以用魔法,将一个人年龄转移到另一个人,转移一岁的代价为t,但不能转移超过d岁,及a岁的人,其年龄变化范围为 [ a − d + 1 , a + d − 1 ] [a-d+1,a+d-1] [a−d+1,a+d−1]. 题解:枚举骑摩托数,将年龄排序,双指针来弄。代码实现具体细节比较多。 代码copy自vj
//coded by ZJUT_7
#include
using namespace std;
const int maxn=100010;
#define inf 0x3f3f3f3f3f3f3f3f
#define ll long long
ll a[maxn];
int main(){
ll n,k,lc,lm,pc,pm,t,d;
scanf("%I64d%I64d%I64d%I64d%I64d%I64d",&n,&k,&lc,&pc,&lm,&pm);
scanf("%I64d%I64d",&t,&d);
for(int i=1;i
关注
打赏