牛客多校第一场 A-Equivalent Prefixes

/************************************************************************* > File Name: A.cpp > Author: qingyu > Created Time: 2019年10月22日 星期二 10时50分51秒 ************************************************************************/#include using namespace std; const int inf = 0x3f3f3f3f; const int maxn = 1e5 + 10; typedef long long ll; stack> sa,sb; int a[maxn],b[maxn],ansa[maxn],ansb[maxn]; int main(){ int n; while(~scanf("%d",&n)){ for(int i = 0; i < n; ++i) scanf("%d",&a[i]); for(int i = 0; i < n; ++i) scanf("%d",&b[i]); sa.push(make_pair(0,-1)); sb.push(make_pair(0,-1)); int i; for(i = 0; i < n; ++i){ while(sa.top().first > a[i]) sa.pop(); while(sb.top().first > b[i]) sb.pop(); if(sa.top().second != sb.top().second) break; sa.push(make_pair(a[i],i)); sb.push(make_pair(b[i],i)); } printf("%d\n",i); while(!sa.empty()) sa.pop(); while(!sb.empty()) sb.pop(); }return 0; }

【牛客多校第一场 A-Equivalent Prefixes】

    推荐阅读