結果

問題 No.1788 Same Set
ユーザー tute7627
提出日時 2021-12-07 02:48:23
言語 C++17(gcc12)
(gcc 12.3.0 + boost 1.87.0)
結果
TLE  
実行時間 -
コード長 783 bytes
コンパイル時間 11,050 ms
コンパイル使用メモリ 275,244 KB
最終ジャッジ日時 2025-01-26 06:22:35
ジャッジサーバーID
(参考情報)
judge1 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 8 TLE * 28
権限があれば一括ダウンロードができます

ソースコード

diff #

#pragma GCC target("avx2")
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")

#include<bits/stdc++.h>
using namespace std;

int main(){
  int n;
  cin >> n;
  vector<int>a(n), b(n);
  for(int i = 0; i < n; i++)cin >> a[i];
  for(int i = 0; i < n; i++)cin >> b[i];
  long long ans = 0;
  const int sz = 400005;
  vector<bool>at(sz), bt(sz);
  for(int l = 0; l < n; l++){
    int dif = 0;
    for(int r = l; r < n; r++){
      if(!at[a[r]]){
        at[a[r]] = true;
        if(!bt[a[r]])dif++;
        else dif--;
      }
      if(!bt[b[r]]){
        bt[b[r]] = true;
        if(!at[b[r]])dif++;
        else dif--;
      }
      if(dif == 0)ans++;
    }
    for(int r = l; r < n; r++){
      at[a[r]] = false;
      bt[b[r]] = false;
    }

  }
  cout << ans << endl;
}
0