답안 #148843

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
148843 2019-09-01T05:14:21 Z ProofByTLE(#3614, Mahotsukai, McDic, Redux) 함수컵 박물관 (FXCUP4_museum) C++17
27 / 100
80 ms 8932 KB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef long double ld;
typedef complex<ld> cd;

#define EPS 1e-14
#define PI 3.1415926535897932384626433832795
#define MOD 1000000007
#define INFLL (ll)1e18 //Long long infinity
#define INF (int)1e9 //Int infinity
#define MX 100005

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<cd> vcd;
typedef vector<vi> vvi;
typedef vector<vl> vvl;
typedef vector<vd> vvd;
typedef vector<string> vstr;

#define us unordered_set
#define um unordered_map
#define bs bitset

#define RANGE(i,a,b,d) for (int i=min((int)a,(int)b); i<max((int)a,(int)b); i+=d)
#define RRANGE(i,a,b,d) for (int i=max((int)a,(int)b); i>min((int)a,(int)b); i+=d)
#define FOR(i,a,b) RANGE(i,a,b,1)
#define RFOR(i,a,b) RRANGE(i,a,b,-1)
#define REP(i,s) FOR(i,0,s)
#define RREP(i,s) RFOR(i,s-1,-1)
#define FORIT(it,l) for (auto it = l.begin(); it != l.end(); it++)
#define EACH(x,v) for (auto &x : v)

#define sz(x) (int)(x).size()
#define len(x) (int)sizeof(x)/sizeof(*x)
#define mp make_pair
#define pb push_back
#define F first
#define S second
#define lb lower_bound
#define ub upper_bound
#define all(x) x.begin(), x.end()
#define contains(m,x) (m.find(x) != m.end()) // check if an element in a map
#define isIn(S, s) (S.find(s) != string::npos) // check if substring

#define pv(v) EACH(x, v) cout << x << " "; cout << endl; // print vector/array
#define pvv(vv) EACH(xx, vv){pv(xx);} // print 2-d vector/2-d array
#define pm(m) EACH(x, m) cout << x.F << ":" << x.S << " "; cout << endl; //print map/lookup table

mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());

namespace std{
  // Used for hashing pair
  template <> struct hash<pi>{
    size_t operator()(const pi&x)const{
      ll P=38923, Q=109797901;
      return (size_t)((x.F*P+x.S)%Q);
    }
  };
};

// This is min queue
template<class T> using pqg = priority_queue<T, vector<T>, greater<T>>;

template <typename T>
void print(T t){
  cout << t << endl;
}

//Python style printing
template<typename T, typename... Args>
void print(T t, Args... args){
  cout << t << " ";
  print(args...);
}

ll CountSimilarPairs(vi B, vi T, vi G) {
  int n = sz(B);
  vi a(100, 0), b(100, 0), c(100, 0), d(100 * 100, 0), e(100 * 100, 0), f(100 * 100, 0), g(100 * 100 * 100, 0);
  REP(i, n) B[i]--, T[i]--, G[i]--;
  REP(i, n) {
    a[B[i]]++;
    b[T[i]]++;
    c[G[i]]++;
    d[B[i]*100+T[i]]++;
    e[B[i]*100+G[i]]++;
    f[G[i]*100+T[i]]++;
    g[B[i]*10000+G[i]*100+T[i]]++;
  }
  ll sol = 0;
  REP(i, 100) sol += a[i] * (a[i]-1) + b[i]*(b[i]-1) + c[i]*(c[i]-1);
  REP(i, 10000) sol -= (d[i]*(d[i]-1) + e[i]*(e[i]-1) + f[i]*(f[i]-1));
  REP(i, 1000000) sol += g[i]*(g[i]-1);
  sol/=2;
  return sol;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 10 ms 4480 KB Output is correct
2 Correct 10 ms 4480 KB Output is correct
3 Correct 9 ms 4224 KB Output is correct
4 Correct 10 ms 4352 KB Output is correct
5 Correct 10 ms 4352 KB Output is correct
6 Correct 11 ms 4480 KB Output is correct
7 Correct 10 ms 4480 KB Output is correct
8 Correct 9 ms 4480 KB Output is correct
9 Correct 11 ms 4480 KB Output is correct
10 Correct 10 ms 4480 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 10 ms 4480 KB Output is correct
2 Correct 10 ms 4480 KB Output is correct
3 Correct 9 ms 4224 KB Output is correct
4 Correct 10 ms 4352 KB Output is correct
5 Correct 10 ms 4352 KB Output is correct
6 Correct 11 ms 4480 KB Output is correct
7 Correct 10 ms 4480 KB Output is correct
8 Correct 9 ms 4480 KB Output is correct
9 Correct 11 ms 4480 KB Output is correct
10 Correct 10 ms 4480 KB Output is correct
11 Correct 12 ms 4480 KB Output is correct
12 Correct 21 ms 5120 KB Output is correct
13 Correct 31 ms 5796 KB Output is correct
14 Correct 41 ms 6304 KB Output is correct
15 Correct 59 ms 7276 KB Output is correct
16 Incorrect 80 ms 8932 KB Output isn't correct
17 Halted 0 ms 0 KB -