結果

問題 No.1788 Same Set
コンテスト
ユーザー tute7627
提出日時 2021-12-07 02:49:35
言語 C++17(gcc12)
(gcc 12.3.0 + boost 1.87.0)
結果
TLE  
実行時間 -
コード長 773 bytes
コンパイル時間 10,969 ms
コンパイル使用メモリ 276,028 KB
最終ジャッジ日時 2025-01-26 06:25:09
ジャッジサーバーID
(参考情報)
judge2 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
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;
  bitset<sz>at, bt;
  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