/ Randle /

记录详情

Wrong Answer


  
# 状态 耗时 内存占用
#1 Wrong Answer 2ms 1.051 MiB
#2 Wrong Answer 2ms 2.57 MiB
#3 Wrong Answer 2ms 2.809 MiB
#4 Wrong Answer 2ms 2.551 MiB
#5 Wrong Answer 2ms 2.934 MiB
#6 Wrong Answer 2ms 2.562 MiB
#7 Wrong Answer 15ms 1.68 MiB
#8 Wrong Answer 16ms 1.695 MiB
#9 Wrong Answer 13ms 3.18 MiB
#10 Wrong Answer 15ms 3.184 MiB

代码

#include<bits/stdc++.h>
const int maxn=2e5;
inline const void read(int &a)
{
	a=0;
	char c=getchar();
	while(c<'0'||c>'9')c=getchar();
	while(c>='0'&&c<='9')
	{
		a=(a<<1)+(a<<3)+c-'0';
		c=getchar();
	}
}
inline const int lowbit(int a)
{
	return a&(-a);
}
int k,n,m,more[maxn],ans=0;
struct team
{
	int start,end,num;
	inline const bool operator<(const team&b)
	{
		if(end<b.end)return true;
		else return false;
	}
}t[maxn];
inline const void modify(int a,int b)
{
	while(a<=n)
	{
		more[a]+=b;
		a+=lowbit(a);
	}
}
inline const int query(int a)
{
	int ans=0;
	while(a)
	{
		ans+=more[a];
		a-=lowbit(a);
	}
	return ans;
}
int main()
{
	memset(more,0,sizeof(more));
	read(k);read(n);read(m);
	for(int i=1;i<=k;i++){read(t[i].start);read(t[i].end);read(t[i].num);}
	std::sort(t+1,t+1+k);
	for(int i=1;i<=k;i++)
	{
		int load=std::min(m-query(t[i].start),t[i].num);
		ans+=load;
		modify(t[i].start,load);modify(t[i].end+1,-load);
	}
	std::cout<<ans;
	return 0;
}

信息

递交者
类型
递交
题目
公交与怪兽 T2
题目数据
下载
语言
C++
递交时间
2017-10-03 18:35:27
评测时间
2017-10-03 18:35:27
评测机
分数
0
总耗时
75ms
峰值内存
3.184 MiB