专栏文章
题解:P3955 [NOIP2017 普及组] 图书管理员
P3955题解参与者 2已保存评论 2
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @miqkrz40
- 此快照首次捕获于
- 2025/12/04 06:25 3 个月前
- 此快照最后确认于
- 2025/12/04 06:25 3 个月前
题解:P3955 [NOIP2017 普及组] 图书管理员
我们要知道 的后 位等于 ,所以我们对于每个需求码,都可以枚举每一个数,找到符合要求的最小值,如果没有,输出 。
CPP#include<bits/stdc++.h>
using namespace std;
const int N=1e6+5,inf=1e9;
int n,q;
int a[N];
int qpow(int a,int b){
int ans=1;
while(b){
if(b&1) ans*=a;
a*=a;
b>>=1;
}
return ans;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
cin>>n>>q;
for(int i=1;i<=n;i++){
cin>>a[i];
}
while(q--){
int len,x;
cin>>len>>x;
int ans=inf;
for(int i=1;i<=n;i++){
if(a[i]%qpow(10,len)==x) ans=min(ans,a[i]);
}
if(ans<inf) cout<<ans<<"\n";
else cout<<"-1\n";
}
return 0;
}
相关推荐
评论
共 2 条评论,欢迎与作者交流。
正在加载评论...