考场想混个15分的,结果0分
#include <bits/stdc++.h>
using namespace std;
struct ele {
int addr;
int size;
string name;
};
int main() {
int i,n,op,sz;
int addrnow = 0;
string typ,name;
int ta;
vector<ele> memory;
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin>>n;
for(i=0;i<n;i++)
{
cin>>op;
switch(op) {
case 2:
cin>>typ>>name;
if(typ == "byte") sz = 1;
if(typ == "short") sz = 2;
if(typ == "int") sz = 4;
if(typ == "long") sz = 8;
memory.push_back({addrnow,sz,name});
addrnow += sz;
break;
case 3:
cin>>name;
for(auto &iter:memory) {
if(iter.name == name) {
cout<<iter.addr<<endl;
}
}
break;
case 4:
cin>>ta;
if(ta >= addrnow) {
cout<<"ERR"<<endl;
break;
}
for(auto &iter:memory) {
if(iter.addr <= ta && iter.addr + iter.size > ta) {
cout<<iter.name<<endl;
break;
}
}
break;
default:
break;
}
}
return 0;
}```