求助入门赛第七题F题
  • 板块题目总版
  • 楼主panyibo
  • 当前回复9
  • 已保存回复9
  • 发布时间2024/1/19 21:10
  • 上次更新2024/1/20 07:51:44
查看原帖
求助入门赛第七题F题
299690
panyibo楼主2024/1/19 21:10

【LGR-172-Div.4】洛谷入门赛 #19

错了几个点,有没有巨佬帮忙debug一下

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,q;
int a[10000001],b[10000001];
int cnt = 0;
void f(int x)
{
    for(int i = 0; n > 0; i++)    
    {    
        a[i] = n % 2;    
        n= n / 2;  
        cnt++;
    }    
}
int x;
signed main()
{
	int ans = 0;
	cin >> n >> q;
	f(n);
	int tt = 1;
	for(int i = cnt - 1 ;i >= 0 ;i--)    
   	{    
    	b[tt] = a[i]; 
		tt++;
    }
    
	for(int i = 1;i <= q;i++)
	{
		int k;
		cin >> k;
		
	//	for(int j = cnt - 1;j >= 0;j--)
    //		cout << a[j];
   	 //	puts(" ");
		
		if(a[k - 1] == 1) continue;
		int sum = 1;
		for(int j = 0;j < k - 1; j++)
		{
			if(a[j] == 0) sum ++;
		}
		ans += sum;
		a[0] += sum;
		for(int j = 0;j < k;j++)
		{
			if(a[j] >= 2) 
			{	
				a[j + 1] += a[j] / 2;
				a[j] = a[j] % 2;
			}
		}
	//	cnt ++;
	//	for(int j = cnt - 1;j >= 0;j--)
    	//	cout << a[j];
   	 //	puts(" ");
	}
	cout << ans;
	return 0;
}
2024/1/19 21:10
加载中...