首页 > 其他 > 详细

2020-07-04 热身训练赛(四)

时间:2020-07-04 19:29:12      阅读:42      评论:0      收藏:0      [点我收藏+]

A.(Gym-101992A)

 

B.排列(Gym-101992B)

题意:给出一个长度为n的序列,只能对其施加添加一个数字和删除一个数字的操作,求最少需要多少次能把序列变成1~p的排列(p不知道)。

解:枚举p,求最小值

 

C.(Gym-101992C)

D.(Gym-101992D)

E.(Gym-101992E)

F.赛跑(Gym-101992F)

题意:上次比赛的平均成绩为N,这次比赛目前的总成绩为M,已经赛完X场,还有Y场尚未开始。求接下来的Y场需要拿到多少分才能使得本次的平均成绩大于等于上次的。

解:题意用方程表示为$N\leq \frac{M+a}{X+Y}$(a为待求量)。整理可得$a\geq N(X+Y)-M$,还需要判断一下是否已经输了或者赢了。

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int T,N,M,X,Y;
int main(){
    freopen("mosalah.in","r",stdin);
    scanf("%d",&T);
    while(T--){
        scanf("%d%d%d%d",&N,&M,&X,&Y);
        if(N*(X+Y)<=M){
            puts("0");
        }
        else if(Y==0&&N*(X+Y)>M){
            puts("-1");
        }
        else {
            int ans=N*(X+Y)-M;
            printf("%d\n",ans);
        }
    }
    return 0;
}

 

G.(Gym-101992G)

H.(Gym-101992H)

I.(Gym-101992I)

J.(Gym-101992J)

K.(Gym-101992K)

L.(Gym-101992L)

M.(Gym-101992M)

2020-07-04 热身训练赛(四)

原文:https://www.cnblogs.com/thmyl/p/13236029.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!