温馨提示: \color{#E74C3C}\text{温馨提示:} 温馨提示:
遇见题解勿抄袭,棕名封号两行泪。 \color{#E74C3C}\text{遇见题解勿抄袭,棕名封号两行泪。} 遇见题解勿抄袭,棕名封号两行泪。
思路
首先判断记录是否有效。如果记录无效,就不用标记,也不用累加。
如果记录有效判断这条记录有没有标记过,如果没被标记过,就累加,并且标记。
最后输出累计结果即可。
注意了: 累加器不开 ‘long long’ 见祖宗。
因为本题输入量较大,可以使用快读输入。
建议参考赛时公告板。
Coding time
//严禁抄袭
#include<bits/stdc++.h>
using namespace std;
bool isvis[10000010];//标记数组
int x,t;//表示小 C 听了编号为x的音乐t分钟
long long sum = 0;//不开long long见祖宗
int main()
{
int n;//n条听歌记录
cin>>n;
for(int i = 1;i <= n;++i)
{
cin>>x>>t;//输入每条听歌记录的信息
if(t <= 1||isvis[x] == true)//如果记录无效或者已被标记过
{
continue;//那么跳过
}
isvis[x] = true;//如果有效则标记为true
sum+=t;//有效的时间累加上
}
cout<<sum<<endl;
return 0;
}
THE END
\text{THE END}
THE END
感谢资瓷