Submission #68189434


Source Code Expand

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

#ifdef LOCAL
#include "../../Templates/C++/debug.h"
#else
#define debug(...) 42
#endif

typedef long long ll;
typedef long double ld;
 
typedef pair<int, int> pi;
typedef pair<ll,ll> pl;
typedef pair<ld,ld> pd;
 
typedef vector<int> vi;
typedef vector<ld> vd;
typedef vector<ll> vl;
typedef vector<pi> vpi;
typedef vector<pl> vpl;
typedef vector<vi> vvi;
typedef vector<vl> vvl;

template<class T> using pq = priority_queue<T>;
template<class T> using pqg = priority_queue<T, vector<T>, greater<T>>;

#define mp make_pair
#define pb push_back
#define eb emplace_back
#define lb lower_bound
#define ub upper_bound
#define ins insert
#define lso(s) ((s) & -(s))
int lg(ll s) { return s ? __builtin_clzll(1) - __builtin_clzll(s) : -1; }//lg(1)=0, lg(2)=1, lg(3)=1, lg(4)=2, ...
#define rep(i, a, b) for(int i = a; i < (b); ++i)
#define all(x) begin(x), end(x)
#define sz(x) (int)(x).size()

const int MOD = 998244353;
const double EPS = 1e-9;
const char nl = '\n';
const int INF = 1e9;
const ll INFL = 4e18;
ll gcd(ll a,ll b) { if (b==0) return a; return gcd(b, a%b); }
ll lcm(ll a,ll b) { return a/gcd(a,b)*b; }
ll floor(ll a, ll b) { return a / b - (a % b < 0); }
ll ceil(ll a, ll b) { return a / b + (a % b > 0); }

template<typename T>
istream& operator>>(istream& in, vector<T> &vec){
    for(auto &x : vec){
        in>>x;
    }
    return in;
}

struct custom_hash {
    static uint64_t splitmix64(uint64_t x) {
        // http://xorshift.di.unimi.it/splitmix64.c
        x += 0x9e3779b97f4a7c15;
        x = (x ^ (x >> 30)) * 0xbf58476d1ce4e5b9;
        x = (x ^ (x >> 27)) * 0x94d049bb133111eb;
        return x ^ (x >> 31);
    }

    size_t operator()(uint64_t x) const {
        static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count();
        return splitmix64(x + FIXED_RANDOM);
    }
};

mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
ll gen() {
	ll x = 0;
	while(x == 0)
		x = rng() % MOD;
	return x;
}

struct mint {
  ll x;
  mint(ll x=0):x((x%MOD+MOD)%MOD){}
  mint& operator+=(const mint a) {if ((x += a.x) >= MOD) x -= MOD;return *this;}
  mint& operator-=(const mint a) {if ((x += MOD-a.x) >= MOD) x -= MOD;return *this;}
  mint& operator*=(const mint a) {(x *= a.x) %= MOD;return *this;}
  mint operator+(const mint a) const {mint res(*this);return res+=a;}
  mint operator-(const mint a) const {mint res(*this);return res-=a;}
  mint operator*(const mint a) const {mint res(*this);return res*=a;}
  mint pow(ll b) const {
    mint res(1), a(*this);
    while (b) {
      if (b & 1) res *= a;
      a *= a;
      b >>= 1;
    }
    return res;
  }
  // for prime MOD
  mint inv() const {return pow(MOD-2);}
  mint& operator/=(const mint a) {return (*this) *= a.inv();}
  mint operator/(const mint a) const {mint res(*this);return res/=a;}
};
ostream& operator<<(ostream& os, const mint& a) {os << a.x; return os;}


void solve() {
    int N; cin >> N;
    vi a(N), b(N); cin >> a >> b;
    if(accumulate(all(a), 0) != accumulate(all(b), 0)) {
        cout << "No" << nl;
        return;
    }
    if(a == b || count(all(a), 1) >= 2) {
        cout << "Yes" << nl;
        return;
    }
    if(a[0] == 0 && a.back() == 0 && b[0] == 0 && b.back() == 0) {
        cout << "Yes" << nl;
        return;
    }
    cout << "No" << nl;
}


int main() {
    ios_base::sync_with_stdio(0); cin.tie(0);
    cin.exceptions(cin.failbit);
    int T = 1;
    cin >> T;
    while(T--) {
        solve();
    }
	return 0;
}

Submission Info

Submission Time
Task B - Swap If Equal Sum
User YuukiS18
Language C++ 23 (gcc 12.2)
Score 500
Code Size 3667 Byte
Status AC
Exec Time 24 ms
Memory 4672 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 1
AC × 58
Set Name Test Cases
Sample sample.txt
All 1_1.txt, 1_10.txt, 1_2.txt, 1_3.txt, 1_4.txt, 1_5.txt, 1_6.txt, 1_7.txt, 1_8.txt, 1_9.txt, 2_1.txt, 2_10.txt, 2_2.txt, 2_3.txt, 2_4.txt, 2_5.txt, 2_6.txt, 2_7.txt, 2_8.txt, 2_9.txt, 3_1.txt, 3_10.txt, 3_11.txt, 3_12.txt, 3_13.txt, 3_14.txt, 3_15.txt, 3_16.txt, 3_17.txt, 3_18.txt, 3_19.txt, 3_2.txt, 3_20.txt, 3_3.txt, 3_4.txt, 3_5.txt, 3_6.txt, 3_7.txt, 3_8.txt, 3_9.txt, 4_1.txt, 4_10.txt, 4_11.txt, 4_12.txt, 4_13.txt, 4_14.txt, 4_15.txt, 4_16.txt, 4_2.txt, 4_3.txt, 4_4.txt, 4_5.txt, 4_6.txt, 4_7.txt, 4_8.txt, 4_9.txt, 5.txt, sample.txt
Case Name Status Exec Time Memory
1_1.txt AC 13 ms 3820 KiB
1_10.txt AC 12 ms 3888 KiB
1_2.txt AC 14 ms 4660 KiB
1_3.txt AC 14 ms 3872 KiB
1_4.txt AC 12 ms 4112 KiB
1_5.txt AC 12 ms 4264 KiB
1_6.txt AC 14 ms 3844 KiB
1_7.txt AC 12 ms 4140 KiB
1_8.txt AC 14 ms 4156 KiB
1_9.txt AC 13 ms 4172 KiB
2_1.txt AC 13 ms 3584 KiB
2_10.txt AC 13 ms 3520 KiB
2_2.txt AC 12 ms 3492 KiB
2_3.txt AC 13 ms 3524 KiB
2_4.txt AC 13 ms 3440 KiB
2_5.txt AC 13 ms 3440 KiB
2_6.txt AC 13 ms 3472 KiB
2_7.txt AC 13 ms 3480 KiB
2_8.txt AC 13 ms 3496 KiB
2_9.txt AC 13 ms 3484 KiB
3_1.txt AC 16 ms 4600 KiB
3_10.txt AC 12 ms 4620 KiB
3_11.txt AC 14 ms 4672 KiB
3_12.txt AC 15 ms 4532 KiB
3_13.txt AC 15 ms 4672 KiB
3_14.txt AC 14 ms 4668 KiB
3_15.txt AC 14 ms 4664 KiB
3_16.txt AC 14 ms 4656 KiB
3_17.txt AC 15 ms 4608 KiB
3_18.txt AC 15 ms 4620 KiB
3_19.txt AC 15 ms 4608 KiB
3_2.txt AC 15 ms 4656 KiB
3_20.txt AC 16 ms 4656 KiB
3_3.txt AC 12 ms 4652 KiB
3_4.txt AC 13 ms 4588 KiB
3_5.txt AC 15 ms 4668 KiB
3_6.txt AC 15 ms 4616 KiB
3_7.txt AC 16 ms 4660 KiB
3_8.txt AC 13 ms 4660 KiB
3_9.txt AC 15 ms 4532 KiB
4_1.txt AC 15 ms 3412 KiB
4_10.txt AC 15 ms 3424 KiB
4_11.txt AC 16 ms 3400 KiB
4_12.txt AC 15 ms 3504 KiB
4_13.txt AC 16 ms 3284 KiB
4_14.txt AC 15 ms 3420 KiB
4_15.txt AC 17 ms 3460 KiB
4_16.txt AC 3 ms 3460 KiB
4_2.txt AC 15 ms 3432 KiB
4_3.txt AC 15 ms 3460 KiB
4_4.txt AC 16 ms 3504 KiB
4_5.txt AC 15 ms 3368 KiB
4_6.txt AC 16 ms 3420 KiB
4_7.txt AC 15 ms 3400 KiB
4_8.txt AC 15 ms 3516 KiB
4_9.txt AC 15 ms 3408 KiB
5.txt AC 24 ms 3388 KiB
sample.txt AC 1 ms 3436 KiB