放个正确代码吧!坑主要在注释那里 #include <iostream> (30316)#include <vector> #include <unordered_map> using namespace std; int main() { int n; cin >> n; vector<int> veca(n); unordered_map<int, int> mpa; for (int i = 0; i < n; i++) { cin >> veca[i]; mpa[veca[i]] = i; } vector<int> vecb(n); unordered_map<int, int> mpb; for (int i = 0; i < n; i++) { cin >> vecb[i]; mpb[vecb[i]] = i; } // 右值对象如果没有加LL强转,相当于还是int,一样会越界 = = long long maxNum = n * (n + 1LL); for (int i = 0; i < n; i++) { int posa = mpa[veca[i]]; int posb = mpb[veca[i]]; int numSame = 0; while (posa < n && posb < n && veca[posa] == vecb[posb]) { numSame++; posa++; posb++; } maxNum -= numSame; } cout << maxNum; }

相关推荐

勤奋努力的椰子这就开摆:美团骑手在美团工作没毛病
投递美团等公司10个岗位
点赞 评论 收藏
分享
牛客网
牛客企业服务