当前位置:网站首页>[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 .
边栏推荐
- TCP的三次握手与四次挥手
- Penetration test (2) -- penetration test system, target, GoogleHacking, Kali tool
- 【高老师软件需求分析】20级云班课习题答案合集
- China's earthwork tire market trend report, technical dynamic innovation and market forecast
- Market trend report, technical innovation and market forecast of geosynthetic clay liner in China
- [exercise-2] (UVA 712) s-trees
- Opencv learning log 32 edge extraction
- Gartner:关于零信任网络访问最佳实践的五个建议
- Research Report of cylindrical grinder industry - market status analysis and development prospect forecast
- Learning records: serial communication and solutions to errors encountered
猜你喜欢

毕业才知道IT专业大学生毕业前必做的1010件事

Nodejs+vue online fresh flower shop sales information system express+mysql

Matlab comprehensive exercise: application in signal and system

洛谷P1102 A-B数对(二分,map,双指针)

Essai de pénétration (1) - - outils nécessaires, navigation

Penetration test (1) -- necessary tools, navigation
![[exercise-7] crossover answers](/img/66/3dcba2e70a4cd899fbd78ce4d5bea2.png)
[exercise-7] crossover answers

信息安全-史诗级漏洞Log4j的漏洞机理和防范措施

滲透測試 ( 1 ) --- 必備 工具、導航
![[exercise-4] (UVA 11988) broken keyboard = = (linked list)](/img/59/78ca7170ab1fd364ec44cfbcdc7ab5.png)
[exercise-4] (UVA 11988) broken keyboard = = (linked list)
随机推荐
[exercise-7] crossover answers
C语言是低级和高级的分水岭
滲透測試 ( 1 ) --- 必備 工具、導航
[analysis of teacher Gao's software needs] collection of exercises and answers for level 20 cloud class
TCP的三次握手与四次挥手
Shell脚本编程
X-Forwarded-For详解、如何获取到客户端IP
Penetration test (7) -- vulnerability scanning tool Nessus
Cost accounting [18]
Determine the Photo Position
D - Function(HDU - 6546)女生赛
Penetration test (8) -- official document of burp Suite Pro
STM32 learning record: play with keys to control buzzer and led
Record of force deduction and question brushing
渗透测试 ( 8 ) --- Burp Suite Pro 官方文档
渗透测试 ( 1 ) --- 必备 工具、导航
想应聘程序员,您的简历就该这样写【精华总结】
Market trend report, technical innovation and market forecast of geosynthetic clay liner in China
HDU-6025-Coprime Sequence(女生赛)
Information security - threat detection engine - common rule engine base performance comparison