Codeforces Gym101572 G.Galactic Collegiate Programming Contest (2017-2018 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2017))
Problem G Galactic Collegiate Programming Contest


这个题题意读了一会,就是几个队参加比赛,根据实时的信息,问你1号队的实时排名(题数和罚时相同的时候并列)。
暴力模拟,简直要模拟死了。。。有个地方感觉很有意思,就是如果某个队还一道题都没写出来的话根本就不用和1队比较,这里用一个数组存一下出题数大于等于1的队伍,直接比较这些队伍就可以,如果全都比较一遍就会超时,真的,相信我。
代码:
1 #include<iostream>
2 #include<cstdio>
3 #include<algorithm>
4 #include<cstring>
5 #include<cstdlib>
6 #include<string.h>
7 #include<set>
8 #include<vector>
9 #include<queue>
10 #include<stack>
11 #include<map>
12 #include<cmath>
13 using namespace std;
14 typedef long long ll;
15 const int INF=0x3f3f3f3f;
16 double PI=acos(-1.0);
17 const int maxn=1e5+100;
18 int s[maxn],t[maxn],num[maxn],flag[maxn];
19 int main(){
20 int m,n,a,b,h,ans;
21 while(~scanf("%d%d",&m,&n)){
22 memset(flag,0,sizeof(flag));
23 memset(s,0,sizeof(s));
24 memset(t,0,sizeof(t));
25 memset(num,0,sizeof(num));
26 h=0,ans=0;
27 for(int i=0;i<n;i++){
28 scanf("%d%d",&a,&b);
29 num[a]++;
30 t[a]+=b;
31 if(num[a]==1)s[h++]=a;
32 if(a==1){
33 for(int j=0;j<h;j++){
34 int cnt=s[j];
35 if(cnt==1)continue;
36 if(num[cnt]+1==num[1]&&(t[cnt]<(t[1]-b))){
37 ans--;
38 flag[cnt]=0;
39 }
40 else if(num[cnt]==num[1]&&t[cnt]>=t[1]){
41 ans--;
42 flag[cnt]=0;
43 }
44 }
45 }
46 else{
47 if(num[a]==num[1]+1&&!flag[a]){
48 ans++;flag[a]=1;
49 }
50 if(num[a]==num[1]&&t[a]<t[1]&&!flag[a]){
51 ans++;flag[a]=1;
52 }
53 }
54 printf("%d\n",ans+1);
55 }
56 }
57 return 0;
58 }
Codeforces Gym101572 G.Galactic Collegiate Programming Contest (2017-2018 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2017))的更多相关文章
- ACM ICPC Central Europe Regional Contest 2013 Jagiellonian University Kraków
ACM ICPC Central Europe Regional Contest 2013 Jagiellonian University Kraków Problem A: Rubik’s Rect ...
- Codeforces Gym100971 G.Repair-思维题(切矩形板子) (IX Samara Regional Intercollegiate Programming Contest Russia, Samara, March 13)
这个题就是一块大板子,问你能不能切成两块要求的长宽的两块板子,一开始是按切板子想的,感觉有点麻烦. 直接反过来想,把两块要求的板子拼起来,填成一个大板子,看填出来的这个板子和题目给的板子比较,小于等于 ...
- ACM ICPC, JUST Collegiate Programming Contest (2018) Solution
A:Zero Array 题意:两种操作, 1 p v 将第p个位置的值改成v 2 查询最少的操作数使得所有数都变为0 操作为可以从原序列中选一个非0的数使得所有非0的数减去它,并且所有数不能 ...
- ACM ICPC, Amman Collegiate Programming Contest (2018) Solution
Solution A:Careful Thief 题意:给出n个区间,每个区间的每个位置的权值都是v,然后找长度为k的区间,使得这个区间的所有位置的权值加起来最大,输出最大权值, 所有区间不重叠 思路 ...
- 贪心+离散化+线段树上二分。。。 Samara University ACM ICPC 2016-2017 Quarterfinal Qualification Contest G. Of Zorcs and Axes
题目链接:http://codeforces.com/gym/101149/problem/G 题目大意:给你n对数字,为(a[i], b[i]),给你m对数字,为(w[i], c[i]).给n对数字 ...
- 最小割 D. Behind the Wall Samara University ACM ICPC 2016-2017 Quarterfinal Qualification Contest
题目链接:http://codeforces.com/gym/101149/problem/D 题目大意: 堡垒受到攻击.堡垒是n*m的矩阵,矩阵里刚开始都是平地,然后那个数值表示在当前平地上建一面墙 ...
- 最短路+找规律 Samara University ACM ICPC 2016-2017 Quarterfinal Qualification Contest L. Right Build
题目链接:http://codeforces.com/gym/101149/problem/L 题目大意:有n个点(其实是n+1个点,因为编号是0~n),m条有向边.起点是0,到a和b两个节点,所经过 ...
- 几何+思维 Samara University ACM ICPC 2016-2017 Quarterfinal Qualification Contest K. Revenge of the Dragon
题目链接:http://codeforces.com/gym/101149/problem/K 题目大意: 给你两个点a,b.一个人在a点,一个人在b点,b点的人要追杀a的点,他的跑步速度是a的两倍. ...
- Samara SAU ACM ICPC 2013-2014 Quarterfinal Qualification Contest
A: 简单题,因为题目中说了不会有数据相同: #include<cstdio> #include<algorithm> #define maxn 200005 using na ...
随机推荐
- 【linux】文件默认权限:umask
在默认权限的属性上,目录与文件是不一样的.从第六章我们知道 x 权限对於目录是非常重要的! 但是一般文件的创建则不应该有运行的权限,因为一般文件通常是用在於数据的记录嘛!当然不需要运行的权限了. 因此 ...
- LeetCode (160) Intersection of Two Linked Lists
题目 Write a program to find the node at which the intersection of two singly linked lists begins. For ...
- 【LeetCode】Linked List Cycle II(环形链表 II)
这是LeetCode里的第142道题. 题目要求: 给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 说明:不允许修改给定的链表. 进阶:你是否可以不用额外空间解决此题? ...
- python format 用法详解
format 用法详解 不需要理会数据类型的问题,在%方法中%s只能替代字符串类型 单个参数可以多次输出,参数顺序可以不相同 填充方式十分灵活,对齐方式十分强大 官方推荐用的方式,%方式将会在后面的版 ...
- 妹子图爬取__RE__BS4
妹子图爬取 页面链接 感谢崔大佬: 原文链接 正则实现代码: import requests import re import os import random class mzitu(): def ...
- linux笔记(1)
1)useradd+用户名 添加一个普通用户2)passwd+密码 为用户加密码3)su - 用户名 切换用户4)whoami 查看当前用户是什么5)$符号是普通用户#是超级用户6)mkdir /da ...
- win7 怎么进入注册表
windows图标键(就是ALT旁边的windows小旗子)+R键----输入"regedit"---回车
- Python 前端的第三方库
sweetalert sweeralert:地址 这个使用很简单,需要在在他们的,css和js文件. 酷炫的结果 datatables datatables:地址 已https://datata ...
- 27、android log日志
一.记住 加写sd卡权限 二.代码 package com.example.logtest; import java.io.File; import java.io.IOException; impo ...
- webdriver高级应用- 操作富文本框
富文本框的技术实现和普通的文本框的定位存在较大的区别,富文本框的常见技术用到了Frame标签,并且在Frame里面实现了一个完整的HTML网页结构,所以使用普通的定位模式将无法直接定位到富文本框对象. ...