AtCoder Beginner Contest 161 El número de concursantes es 9927 rápido, ver todas las preguntas 5 minutos después del inicio del concurso
AtCoder Beginner Contest 161 B Popular Vote Quick Sort + Divide + Mod
Ver https://blog.csdn.net/mrcrack/article/details/104454762 para el catálogo general
Dirección de evaluación en línea https://atcoder.jp/contests/abc161/tasks/abc161_b
Tema:
M significa cantidad opcional. Si todas las M satisfacen las restricciones, salida Sí, de lo contrario, salida No.
Ideas basicas:
Ordene por el número de votos de mayor a menor. Después de ordenar, seleccione el número de votos número M para ver si se cumplen las restricciones.
Cabe señalar que al dividir por 4M, hay dos casos a considerar: divisible por, no divisible por.
#include <cstdio>
#include <algorithm>
using namespace std;
int a[110];
int cmp(int a,int b){
return a>b;
}
int main(){
int n,m,i,b=0,c;
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)scanf("%d",&a[i]),b+=a[i];
sort(a+1,a+1+n,cmp);
c=4*m;
if(b%c==0)b/=c;
else b=b/c+1;
if(a[m]>=b)printf("Yes\n");
else printf("No\n");
return 0;
}