A.(Gym-101992A)
题意:给出一个长度为n的序列,只能对其施加添加一个数字和删除一个数字的操作,求最少需要多少次能把序列变成1~p的排列(p不知道)。
解:枚举p,求最小值
C.(Gym-101992C)
D.(Gym-101992D)
E.(Gym-101992E)
题意:上次比赛的平均成绩为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)
原文:https://www.cnblogs.com/thmyl/p/13236029.html