![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/73b0b3a45335411eec9a31503085e8e2.png)
输入样例:
6 7
2048 5
128 6
4016 10
1024 7
3072 12
9332 10
2 12 25 50 28 8 39
输出样例:
2056
4020
1040
Illegal Access
3072
140
3116
5
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a926cc22b8cdd7aaef4511c4a2531376.png)
代码:
#include<bits/stdc++.h>
using namespace std;
struct array_ {
int add_;
int len_;
};
int main() {
int n,k,index,len_sum=0,cnt=1;
cin>>n>>k;
array_ s[n];
for(int i=0; i<n; i++) {
cin>>s[i].add_>>s[i].len_;
len_sum+=s[i].len_;
}
for(int i=0; i<k; i++) {
cin>>index;
if(index>=len_sum) {
cout<<"Illegal Access"<<endl;
continue;
}
for(int j=0; j<n; j++) {
if(index>=s[j].len_) index-=s[j].len_;
else {
cnt=max(j+1,cnt);
cout<<s[j].add_+index*4<<endl;
break;
}
}
}
cout<<cnt;
return 0;
}