Wannafly模拟赛4:A-Laptop(后缀)
来源:互联网 发布:山西九鼎软件怎么样 编辑:程序博客网 时间:2024/05/21 11:05
题目链接
Laptop
Problem Description
FST是一名可怜的小朋友,他很强,但是经常fst,所以rating一直低迷。
但是重点在于,他非常适合ACM!并在最近的区域赛中获得了不错的成绩。
拿到奖金后FST决定买一台新笔记本,但是FST发现,在价格能承受的范围内,笔记本的内存和速度是不可兼得的。
可是,有一些笔记本是被另外一些“完虐”的,也就是内存和速度都不高于另外某一个笔记本,现在FST想统计一下有多少笔记本被“完虐”。
Input
第一行一个正整数n,
表示笔记本的数量。接下来n行,每行两个正整数Mi,Si表示这款笔记本的内存和速度。
Output
一行,一个正整数,表示被完虐的笔记本数。
Sample Input
4100 700200 50050 100300 400
Sample Output
1
解题思路:
得到数据后,根据笔记本的内存M从小到大排序,M相同的,根据速度S从小到大排序。
用一个后缀数组a[]记录i~n的最大S,因为前面的排序方法,
Code:
#include <iostream>#include <cstdio>#include <algorithm>using namespace std;const int maxn=1e5+5;struct Node{ int m,s;}lap[maxn];int a[maxn];bool cmp(Node a,Node b){ if(a.m==b.m) return a.s<b.s; else return a.m<b.m;}int main(){ int n; scanf("%d",&n); for(int i=0;i<n;i++) { scanf("%d%d",&lap[i].m,&lap[i].s); } sort(lap,lap+n,cmp); for(int i=n-1;i>=0;i--) { a[i]=max(lap[i].s,a[i+1]); } int ans=0; for(int i=0;i<n-1;i++) { if(lap[i].s<=a[i+1]) ans++; } printf("%d\n",ans); return 0;}
阅读全文
0 0
- Wannafly模拟赛4:A-Laptop(后缀)
- Wannafly模拟赛4 A Laptop (RMQ)
- Wannafly模拟赛4 A Laptop (前缀数组)
- Wannafly模拟赛4 A 题 Laptop 【二维偏序问题 + 树状数组维护】
- wannafly 4 laptop
- Wannafly模拟赛4
- Wannafly模拟赛2: A. Contest(Cdq分治)
- Wannafly模拟赛2 A题
- Wannafly模拟赛5 A split 二分
- Wannafly模拟赛5 A Split
- Wannafly模拟赛5 A Split 【贪心】
- Wannafly模拟赛5 A题
- Wannafly模拟赛4 题解
- Wannafly挑战赛3-A.珂学送分(概率方程+后缀和)
- Wannafly模拟赛4 CSum(线段树)
- Wannafly模拟赛4 C Sum(树状数组)
- Wannafly模拟赛4 B Distance
- Wannafly模拟赛4 B Distance
- JavaBean实现简单登录功能
- 添加BN层到deeplabV2
- 记一次opencv安装踩坑旅程
- 思维导图教你如何人际沟通
- Mac上使用Semafor语义解析器——我遇到的问题及解决方法
- Wannafly模拟赛4:A-Laptop(后缀)
- 青云QingCloud 携手 3W,来跟技术大牛涨「云姿势」
- 俄罗斯方块纯C语言
- 【Spring】spring对jdbc的优化
- OpenStack发布第16个版本Pike,关注基础设施可组合性
- 【Java】编写一个应用程序计算梯形和圆形的面积。
- JSP和JSTL获取服务器参数
- Deep Learning:Optimization for Training Deep Models(零)
- 学习网站