为啥编译错误,玄关!!!
  • 板块灌水区
  • 楼主Ferm_Tawn
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/11/17 22:58
  • 上次更新2023/11/17 23:09:28
查看原帖
为啥编译错误,玄关!!!
559847
Ferm_Tawn楼主2023/11/17 22:58
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n , m , t , ans;
int a[1000005];
int C[1000005];
int lowbit(int x){
	return x & (-x);
}
pair<int , int> s[1000005];
/*
bool cmp(pair x , pair y){
	if(x.x == y.x) return x.p < y.p;
	else return x.x < y.x;
}
*/
int ask(int x){
	int ans = 0;
	for(int i = x ; i >= 1 ; i -= lowbit(i)){
		ans += C[i];
	}
	return ans;
}
void add(int x , int c) {
	for (int i = x ; i <= n ; i += lowbit(i)){
		C[i] += c;	
	}
}
signed main(){
	cin >> n >> t;
	ans = 0;
	for(int i = 1 ; i <= n ; i++){
		cin >> s[i].first;
		s[i].second = i;
		s[i].first += s[i - 1].first;
	}
	sort(s + 1 , s + 1 + n);
    for(int i = 1 ; i <= n ; i++) a[s[i].second] = i;
	for(int i = n ; i >= 1 ; i--){
		add(a[i] , 1);
		int p = lower_bound(s + 1 , s + 1 + n , make_pair(t + s[a[i - 1]].first , 0)) - (s + 1);
		//ans += ask(p);
	}
	cout << ans << endl;		
	return 0;
}
2023/11/17 22:58
加载中...