树状数组被RE
  • 板块学术版
  • 楼主_Accepted_100
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/8/5 17:46
  • 上次更新2024/8/5 18:47:26
查看原帖
树状数组被RE
1039923
_Accepted_100楼主2024/8/5 17:46

本地能运行,但一提交就RE!!!

题目传送门

#include<bits/stdc++.h>
using namespace std;
const int N=50050;
struct node{
	int s,e,num;
}a[N];
int n,k,c,ans,h[N],l[N];
bool cmp(node a,node b)
{
	if(a.e!=b.e) return a.e<b.e;
	else return a.s<b.s; 
}
int lowbit(int i)
{
	return i&(-i);
}
int add(int i,int k)
{
	for(;i<=n;i+=lowbit(i))
	 h[i]+=k;
}
int add2(int i,int k)
{
	for(;i<=n;i+=lowbit(i))
	 l[i]+=k;
}
int sum(int i)
{
	int ans=0;
	for(;i>0;i-=lowbit(i))
	 ans+=h[i];
	return ans;
}
int sum2(int i)
{
	int ans=0;
	for(;i>0;i-=lowbit(i))
	 ans+=l[i];
	return ans;
}
int main()
{
	cin>>k>>n>>c;
	for(int i=1;i<=k;i++)
	 cin>>a[i].s>>a[i].e>>a[i].num;
	sort(a+1,a+1+k,cmp);
	for(int i=1;i<=k;i++)
	{
		int f=min(c-sum(a[i].s)-sum2(a[i].e)+sum2(a[i].s-1),a[i].num);
		ans+=f;
		add(a[i].s,f);
		add(a[i].e,-f);
		add2(a[i].s,f);
	}
	cout<<ans;
}

题目显示 Runtime Error. Received signal 11: Segmentation fault with invalid memory reference.

2024/8/5 17:46
加载中...