当前位置:网站首页>Résultats D - exam de Qinhuangdao au cours des 20 dernières années
Résultats D - exam de Qinhuangdao au cours des 20 dernières années
2022-06-29 04:39:00 【Int i】
Le professeur Alex prépare son examen pour ses étudiants.
SerannLes étudiants qui ont passé cet examen.Si un étudiantiiAvoir un bon état d'esprit,Il est/Elle fera du bon travail et gagneraa_iaiPoints.Sinon,Il est/Elle aura l'aéroport international de PékinbiPoints.Il est donc impossible de prévoir les résultats de l'examen.Supposons que la note maximale de ces étudiants soitxxPoints.Les élèves dont les notes ne sont pas inférieures àx \cdot p\%x⋅p%Je passerai l'examen.
AlexIl faut savoir quel est le nombre maximum d'étudiants qui peuvent réussir l'examen dans tous les cas.Pouvez - vous répondre à sa question?
Contributions
La première ligne saisie indique le nombre de cas d'essai,T\ (1Une fois10^3)T (1≤T≤5×103). TTLes cas d'essai sont les suivants:.
Pour chaque cas d'essai,La première ligne contient deux entiersn \(1 \ le n \ le 2 \Une fois10^5)n (1≤n≤2×105)Etp\ (1 \le p \le 100)p (1≤p≤100),Où est - il?nnC'est le nombre d'étudiantsp\%p%C'est l'échelle.
Chacun des éléments suivantsnnlinesContient deux entiers10^9Université d'Arlesai,bi (1≤bi≤ai≤109),Scores représentatifs des élèvesii.
TotalnnDans tous les cas d'essai,Pas plus de5Une fois10^55×105.
Produits
Pour chaque cas d'essai,La ligne de sortie contient“CAS#x: y“,Où?\texttt{x}xEst le numéro de cas d'essai(De11),Et\texttt{y}yEst le nombre maximum d'étudiants.
Échantillons1
| Entrée de la réplication | Copie de sortie |
|---|---|
2 2 50 2 1 5 1 5 60 8 5 9 3 14 2 10 8 7 6 | Case #1: 2 Case #2: 4 |
Titre:n Un étudiant a une meilleure note , Ou un score inférieur . Pas moins que la note maximale *(m/100)Le plus grand nombre
Idées: Regardez les autres prendre des règles , Différence quoi , Mais je ne comprends pas , Heureusement que mon code est passé
Personnellement, je pense que c'est mieux compris .
Trier d'abord la structure , Selon les notes élevées ( Même chose pour les notes basses et élevées )Trier, Le deuxième exemple est le suivant
struct Node
{
int x,y;
bool operator<(const Node temp)const{
if(x!=temp.x) return x>temp.x;
return y>temp.y;
}
}x[M];14 2 10 8 9 3 8 5 7 6
Si la dernière valeur maximale est 14, Alors tout le reste doit être le plus grand , Recherche binaire combien de tableaux ascendants ne sont pas inférieurs à 14*(60/100.0)C'est simple
Si la dernière valeur maximale est 10, Donc ce qui est en dessous doit être le plus grand ,Le premier n'est pas14,Ça doit être2,Parce que14S'il existe10 Ce ne sera pas le plus grand .Alors la réponse est Voici la plus grande réponse + La plus petite réponse ci - dessus .Parce que La plus petite réponse ci - dessus Il n'y a pas d'ordre., Et la file d'attente prioritaire ne peut pas faire de recherche binaire ,Peut être utilisévectorAjouter+Recherche binaire, Les deux premières fonctions du code ci - dessous sont .
Et pour les données :
2 50 100 80 7 6
7Et6 Ce ne sera jamais le maximum , Réaliser cet arrêt Il suffit d'enregistrer le plus grand yPourmaxxy,if(x[i].x<maxxy) break;C'est tout.
Attention au plus gros maxxy C'est peut - être le plus grand , Il faut enfin recalculer les résultats ,Par exemple,100 80,7 6Ces données,maxxy=80.
#include<bits/stdc++.h>
using namespace std;
#define fo(a,b) for(int i=a;i<=b;i++)
#define inf 0x3f3f3f3f
#define ll long long
const ll mod=998244353;
#define EXP 1e-6
#define M 1000005
int T,n,m,maxxy;
int a[M];
struct Node
{
int x,y;
bool operator<(const Node temp)const{
if(x!=temp.x) return x>temp.x;
return y>temp.y;
}
}x[M];
vector<int>s;
void update(int q){ // Joignez - vous en temps de file d'attente prioritaire
maxxy=max(maxxy,q);
vector<int>::iterator last=lower_bound(s.begin(),s.end(),q);
s.insert(last,q);
}
int solve(double a){ //Recherche binaire
if(s.size()==0) return 0;
return lower_bound(s.begin(),s.end(),a)-s.begin();
}
signed main()
{
scanf("%d",&T);
for(int k=1;k<=T;k++){
int maxx=0;
maxxy=0;
s.clear();
scanf("%d%d",&n,&m);
fo(1,n) scanf("%d%d",&x[i].x,&x[i].y);
sort(x+1,x+n+1);
fo(1,n) a[i]=x[n-i+1].x;
for(int i=1;i<=n;i++){
if(x[i].x<maxxy) break; // Si la note supérieure ne peut pas être la valeur maximale
double r=x[i].x*(m/100.0);
int sum=(n-i)-(lower_bound(a+1,a+n+1-i,r)-a)+2; //En bas.
sum+=i-solve(r)-1; //Au - dessus
maxx=max(maxx,sum);
update(x[i].y);
}
double r=maxxy*(m/100.0);
int sum=0;
for(int i=1;i<=n;i++){ //maxxy Réponse au maximum
sum+=(x[i].x>maxxy?(x[i].y>=r):(x[i].x>=r));
}
maxx=max(maxx,sum);
printf("Case #%d: %d\n",k,maxx);
}
return 0;
}
/*
Quelques données sujettes aux erreurs :
1
3 50
100 6
5 4
6 4
:3
1
2 50
5 5
2 2
:2
1
3 50
100 6
5 4
5 4
:3
*/
边栏推荐
- Introduction to Bert and Vit
- It is said on the Internet that a student from Guangdong has been admitted to Peking University for three times and earned a total of 2million yuan in three years
- 汉泰示波器软件|汉泰示波器上位机软件NS-Scope,任意添加测量数据
- Research Report on the overall scale, major manufacturers, major regions, products and applications of power battery laser welding machines in the global market in 2022
- Research Report on the overall scale, major manufacturers, major regions, products and applications of high temperature film capacitors in the global market in 2022
- 泰克DPO4104数字荧光示波器技术参数
- Quelles sont les méthodes de simulation et de gravure des programmes? (comprend les outils communs et la façon dont ils sont utilisés)
- 笔记本访问台式机的共享磁盘
- 【代码随想录-哈希表】T15、三数之和-双指针+排序
- 20年秦皇岛D - Exam Results(二分+思维,附易错数据)
猜你喜欢

How to use the select statement of MySQL

从零到一,教你搭建「以文搜图」搜索服务(一)

Mécanisme d'attention du canal de fixation

EEG signal processing - wavelet transform series

What are the ways to simulate and burn programs? (including common tools and usage)

Agilent digital multimeter software ns multimeter, real-time data acquisition and automatic data saving

Redis cache penetration, cache breakdown, cache avalanche

Hantai oscilloscope software | Hantai oscilloscope upper computer software ns-scope, add measurement data arbitrarily

Observer pattern

How to quickly change the database name in MySQL
随机推荐
1015 德才论
Research Report on global market segmentation based on condition based maintenance (CBM) overall scale, major enterprises, major regions, products and applications in 2022
ECS 4 sync point, write group, version number
Composite pattern
Cisco voice card handling configuration
泰克TDS3054B示波器技术指标
[C language] start a thread
How to quickly install MySQL 5.7.17 under CentOS 6.5
Apifox: it is not only an API debugging tool, but also a collaboration artifact of the development team
[WC2021] 斐波那契——数论、斐波那契数列
Mediator pattern
Blue Bridge Cup DFS (I)
Research Report on the overall scale, major manufacturers, major regions, products and applications of semiconductor CMP wafer fixed ring in the global market in 2022
波形记录仪MR6000的实时波形运算功能
How to solve startup failure due to insufficient MySQL memory
【HackTheBox】dancing(SMB)
如何创建 robots.txt 文件?
MySQL subquery
Implementation of thread pool based on variable parameter template
汉泰示波器软件|汉泰示波器上位机软件NS-Scope,任意添加测量数据