博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces 420 B. Online Meeting
阅读量:5248 次
发布时间:2019-06-14

本文共 3156 字,大约阅读时间需要 10 分钟。

B. Online Meeting
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

Nearly each project of the F company has a whole team of developers working on it. They often are in different rooms of the office in different cities and even countries. To keep in touch and track the results of the project, the F company conducts shared online meetings in a Spyke chat.

One day the director of the F company got hold of the records of a part of an online meeting of one successful team. The director watched the record and wanted to talk to the team leader. But how can he tell who the leader is? The director logically supposed that the leader is the person who is present at any conversation during a chat meeting. In other words, if at some moment of time at least one person is present on the meeting, then the leader is present on the meeting.

You are the assistant director. Given the 'user logged on'/'user logged off' messages of the meeting in the chronological order, help the director determine who can be the leader. Note that the director has the record of only a continuous part of the meeting (probably, it's not the whole meeting).

Input

The first line contains integers n and m (1 ≤ n, m ≤ 105) — the number of team participants and the number of messages. Each of the next m lines contains a message in the format:

  • 'id': the record means that the person with number id (1 ≤ id ≤ n) has logged on to the meeting.
  • 'id': the record means that the person with number id (1 ≤ id ≤ n) has logged off from the meeting.

Assume that all the people of the team are numbered from 1 to n and the messages are given in the chronological order. It is guaranteed that the given sequence is the correct record of a continuous part of the meeting. It is guaranteed that no two log on/log off events occurred simultaneously.

Output

In the first line print integer k (0 ≤ k ≤ n) — how many people can be leaders. In the next line, print k integers in the increasing order — the numbers of the people who can be leaders.

If the data is such that no member of the team can be a leader, print a single number 0.

Sample test(s)
input
5 4+ 1+ 2- 2- 1
output
41 3 4 5
input
3 2+ 1- 2
output
13
input
2 4+ 1- 1+ 2- 2
output
0
input
5 6+ 1- 1- 3+ 3+ 4- 4
output
32 3 5
input
2 4+ 1- 2+ 2- 1
output
0

#include 
#include
#include
#include
#include
using namespace std;const int maxn=110000;set
chat,st;bool vis[maxn];int id[maxn];char op[maxn];int main(){ int n,m; scanf("%d%d",&n,&m); for(int i=0;i
0) vis[id[i]]=true; else st.insert(id[i]); chat.insert(id[i]); } else if(op[i]=='-') { if(chat.size()>1) vis[id[i]]=true; else st.insert(id[i]); chat.erase(id[i]); } } if(st.size()>1) { set
::iterator it; for(it=st.begin();it!=st.end();it++) { vis[*it]=true; } } int cnt=0; for(int i=1;i<=n;i++) if(vis[i]) cnt++; printf("%d\n",n-cnt); for(int i=1;i<=n;i++) if(!vis[i]) printf("%d ",i); putchar(10); return 0;}

转载于:https://www.cnblogs.com/mengfanrong/p/5034128.html

你可能感兴趣的文章
Spring属性注入
查看>>
Springboot-配置文件
查看>>
Springboot-日志框架
查看>>
P1192-台阶问题
查看>>
一、使用pip安装Python包
查看>>
spring与quartz整合
查看>>
Kattis之旅——Eight Queens
查看>>
3.PHP 教程_PHP 语法
查看>>
Duilib扩展《01》— 双击、右键消息扩展
查看>>
利用Fiddler拦截接口请求并篡改数据
查看>>
python习题:unittest参数化-数据从文件或excel中读取
查看>>
在工程中要加入新的错误弹出方法
查看>>
PS 滤镜— — sparkle 效果
查看>>
网站产品设计
查看>>
代理ARP
查看>>
go 学习笔记(4) ---项目结构
查看>>
java中静态代码块的用法 static用法详解
查看>>
Java线程面试题
查看>>
Paper Reading: Relation Networks for Object Detection
查看>>
day22 01 初识面向对象----简单的人狗大战小游戏
查看>>