当前位置:网站首页>[exercise -10] unread messages
[exercise -10] unread messages
2022-07-06 15:57:00 【Flame car】
Title Description
There is a group of people in an internet email message group. Messages are sent to all members of the group, and no two messages are sent at the same time.
Immediately before a person sends a message, they read all their unread messages up to that point.
Each sender also reads their own message the moment it is sent. Therefore, a person’s unread messages are exactly the set of messages sent after that person’s last message.
Each time a message is sent, compute the total number of unread messages over all group members.
Input
The first line of input contains two integers n (1 ≤ n ≤ 109 ) and m (1 ≤ m ≤ 1,000), where n is the number of people in the group, and m is the number of messages sent. The group members are
identified by number, 1 through n.
Each of the next m lines contains a single integer s (1 ≤ s ≤ n), which is the sender of that message. These lines are in chronological order.
Output
Output m lines, each with a single integer, indicating the total number of unread messages over all group members, immediately after each message is sent.
The sample input
【 Examples 1】
2 4
1
2
1
2
【 Examples 2】
3 9
1
2
3
2
1
3
3
2
1
Sample output
【 Examples 1】
1
1
1
1
【 Examples 2】
2
3
3
4
3
3
5
4
3
The main idea of the topic :
Yes n Personal hair m The second news ( Only one person at a time ), Next m Line no line input is sent by the first person .
When a person sends a message , Everyone else will have an unread message , When a person sends a message , His unread news will be cleared 0.
AC Code :
#include<bits/stdc++.h>
using namespace std;
#define CLEAR(a) memset(a,0,sizeof a);
typedef long long ll;
const int N = 1e5+5;
const ll mod = 1e9+7;
map<ll,ll> mp;
int main()
{
ll n,m,x,res=0;
cin>>n>>m;
for(int i=1;i<=m;i++)
{
cin>>x;
res+=(n-(i-mp[x]));
mp[x]=i;
cout<<res<<endl;
}
return 0;
}
Ideas :
Because when sending a message , Everyone's unread messages except myself will +1. Let's assume that everyone will +1, That is, the total number of unread messages +n.
Then we subtract the message that the sender has read , use map Record the last time you read the message , use i-mp[x] It's the news that I've read ( No extra -1, because A When sending messages A also +1 了 ).
Then just add n-(i-mp[x]) Is the amount of unread messages .
边栏推荐
- 基于web的照片数码冲印网站
- Penetration test (2) -- penetration test system, target, GoogleHacking, Kali tool
- Opencv learning log 12 binarization of Otsu method
- 7-1 懂的都懂 (20 分)
- Accounting regulations and professional ethics [2]
- Opencv learning log 16 paperclip count
- Information security - Epic vulnerability log4j vulnerability mechanism and preventive measures
- Record of brushing questions with force deduction -- complete knapsack problem (I)
- STM32 learning record: play with keys to control buzzer and led
- China exterior wall cladding (EWC) market trend report, technical dynamic innovation and market forecast
猜你喜欢

TCP的三次握手与四次挥手

X-forwarded-for details, how to get the client IP

C语言是低级和高级的分水岭

STM32 learning record: play with keys to control buzzer and led

信息安全-威胁检测引擎-常见规则引擎底座性能比较

Penetration test (3) -- Metasploit framework (MSF)
![[exercise-4] (UVA 11988) broken keyboard = = (linked list)](/img/59/78ca7170ab1fd364ec44cfbcdc7ab5.png)
[exercise-4] (UVA 11988) broken keyboard = = (linked list)

Matlab comprehensive exercise: application in signal and system

力扣刷题记录

Information security - threat detection - Flink broadcast stream broadcaststate dual stream merging application in filtering security logs
随机推荐
【练习-6】(PTA)分而治之
最全编程语言在线 API 文档
Cost accounting [15]
Gartner:关于零信任网络访问最佳实践的五个建议
Learning record: USART serial communication
MATLAB综合练习:信号与系统中的应用
[exercise-3] (UVA 442) matrix chain multiplication
E. Breaking the Wall
【练习-11】4 Values whose Sum is 0(和为0的4个值)
Matlab comprehensive exercise: application in signal and system
Interesting drink
Information security - threat detection - detailed design of NAT log access threat detection platform
If you want to apply for a programmer, your resume should be written like this [essence summary]
Ball Dropping
数据在内存中的存储&载入内存,让程序运行起来
China potato slicer market trend report, technical dynamic innovation and market forecast
SSM框架常用配置文件
Opencv learning log 32 edge extraction
Research Report on surgical fluid treatment industry - market status analysis and development prospect prediction
Market trend report, technical innovation and market forecast of geosynthetic clay liner in China