砍竹子求调WA 0

demo

#include<bits/stdc++.h>
#define int long long 
using namespace std;
const int N = 214514;
int n,h[N],c[N],cl,op,ans,now;
vector<priority_queue<int,vector<int>,greater<int> > > v(11);
int kan(int H){
	return floor((long double)(sqrt((long double)(floor((long double)(H)/2.0))+1.0)));
}
inline void input() {
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>h[i];
		cl=h[i],op=0;
		while(cl>1){
			cl=kan(cl);
			op++;
		}
		c[i]=op;
		v[op].push(i);
	}
	return;
}

inline void output() { 
	cout<<ans;
	return;
}

inline void solve() {
	input();
	for(int i=7;i>=1;i--){
		while(v[i].size()){
			now=v[i].top();
			while(v[i].top()==now&&v[i].size()){
				v[i-1].push(now); 
				v[i].pop();
				now++;
			}
			ans++;
		}	
	}
	output();
	return;
}

signed main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	solve();
	return 0;
}

感觉应该是
solve出了问题

2 个赞

(帖子已被作者删除)

1 个赞

?我让你找错 :face_with_monocle:

2 个赞

我正在看,你这写法我第一次见,等我转化一下

1 个赞

好吧,我不知道你错哪了
(废话)介意你下个样例

1 个赞