社区讨论

万能的谷民们啊

CF1003DCoins and Queries参与者 3已保存回复 7

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
7 条
当前快照
1 份
快照标识符
@lo8hwbu1
此快照首次捕获于
2023/10/27 18:53
2 年前
此快照最后确认于
2023/10/27 18:53
2 年前
查看原帖
求助,请问为什么wa在了第4个点啊?
CPP
#include <bits/stdc++.h>
using namespace std;
int n,q,y,u,sum,a[200005],ls[101];
inline int read(){
   register int s=0,w=1;
   register char ch=getchar(); 
   while(ch<'0'||ch>'9'){if(ch=='-'){w=-1,ch=getchar();}}
   while(ch>='0'&&ch<='9'){s=s*10+ch-'0';ch=getchar();}
   return s*w;
}
int main()
{
	n=read(),q=read();
	for(int i=1;i<=n;i++){
		a[i]=read();
		sum=0;
		while(1){
			if((a[i]>>1)>0){
				sum+=1;
				a[i]=a[i]>>1;
			}else{
				break;
			}
		}
		ls[sum]=1;
	}
	for(int i=1;i<=q;i++){
		u=read();
		sum=0;
		for(int j=30;j>=0;j--){
			if(ls[j]==1){
				if(u>=(1<<j)){
					sum+=u/(1<<j);
					u=u%(1<<j);
				}
			}
		}
//		while(1){
//			if(y==0){
//				break;
//			}
////			if(u-a[y]<0){
////				y--;
////			}else{
////				u-=a[y];
////				sum+=1;
////			}
//			sum+=u/a[y];
//			u=u%a[y];
//			y--;
//		}
		if(u!=0){
			cout<<-1<<endl;
		}else{
			cout<<sum<<endl;
		}
	}
	return 0;
}
/*
4 3
1 200 400 800
199
198
200
*/
都快调炸了

回复

7 条回复,欢迎继续交流。

正在加载回复...