Submission #2665190


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using P  = pair<ll, ll>;

#define FOR(i,a,b)  for(ll (i)=a;(i)<(b);++(i))
#define RFOR(i,a,b) for(ll (i)=a;(i)>=(b);--(i))
#define REP(i,n)    FOR(i,0,n)
#define RREP(i,n)   RFOR(i,n,0)
#define ALL(v)      (v).begin(),(v).end()
#define BIT(n)      (1LL<<(n))
#define IN(x,l,r)   ((l)<=(x)&&(x)<=(r))
#define LEN(s)      (string(s)).length()
#define NPOS        string::npos
#define SHOW(x)     cout<<#x<<" = "<<x<<endl
#define SORT(v)     sort(ALL(v))
#define SZ(v)       (ll)(v).size()
#define UNIQ(v)     SORT(v);(v).erase(unique(ALL(v)),(v).end())
#define PERM(v)     for(bool p=1;p;p=next_permutation(ALL(v)))
#define PQ(T)       priority_queue<T,vector<T>,greater<T> >

template<class T>string join(const vector<T>& v,string d=" ")
{stringstream s;REP(i,SZ(v))s<<d<<v[i];return s.str().substr(LEN(d));}

template<class T>ostream& operator<<(ostream& s,const vector<T>& v)
{s<<"{";if(SZ(v))s<<join(v,", ");s<<"}";return s;}

template<class T>bool contain(const string& s,const T& v)
{return s.find(v)!=NPOS;}

template<class T,class U>string& replace(string& s,const T& f,const U& t)
{for(auto p=s.find(f);p!=NPOS;p=s.find(f,p+LEN(t)))s.replace(p,LEN(f),t);}

const ll INF = 1e15;
const ll MOD = 1e9+7;
const double EPS = 1e-10;

int dy[] = {0, 0, 1, -1};
int dx[] = {1, -1, 0, 0};

int main() {
    ll R, C, K; cin >> R >> C >> K;
    ll N; cin >> N;
    
    set<P> st;
    vector<ll> row(R), col(C);
    REP(i, N) {
        ll r, c; cin >> r >> c;
        r--; c--;
        st.insert({r, c});
        row[r]++; col[c]++;
    }
    
    vector<P> ps(C);
    REP(i, C) ps[i] = {col[i], i};
    SORT(ps);
    
    ll ans = 0;
    REP(i, R) if (row[i] <= K) {
        ll x = row[i];
        {
            auto ub = upper_bound(ALL(ps), make_pair(K-x, INF));
            auto lb = lower_bound(ALL(ps), make_pair(K-x, -INF));
            for (auto j = lb; j < ub; j++) {
                ll idx = (*j).second;
                if (st.find({i, idx}) == st.end()) ans++;
            }
        }
        if (x > 0) {
            auto ub = upper_bound(ALL(ps), make_pair(K-x+1, INF));
            auto lb = lower_bound(ALL(ps), make_pair(K-x+1, -INF));
            for (auto j = lb; j < ub; j++) {
                ll idx = (*j).second;
                if (st.find({i, idx}) != st.end()) ans++;
            }
        }
    }
    cout << ans << endl;
    
    return 0;
}

Submission Info

Submission Time
Task C - 収集王
User tfnw315
Language C++14 (GCC 5.4.1)
Score 30
Code Size 2512 Byte
Status TLE
Exec Time 2104 ms
Memory 9600 KB

Judge Result

Set Name Sample Subtask1 Subtask2
Score / Max Score 0 / 0 30 / 30 0 / 70
Status
AC × 3
AC × 18
AC × 27
TLE × 6
Set Name Test Cases
Sample subtask0-sample01.txt, subtask0-sample02.txt, subtask0-sample03.txt
Subtask1 subtask0-sample01.txt, subtask0-sample02.txt, subtask0-sample03.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt
Subtask2 subtask0-sample01.txt, subtask0-sample02.txt, subtask0-sample03.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask2-01.txt, subtask2-02.txt, subtask2-03.txt, subtask2-04.txt, subtask2-05.txt, subtask2-06.txt, subtask2-07.txt, subtask2-08.txt, subtask2-09.txt, subtask2-10.txt, subtask2-11.txt, subtask2-12.txt, subtask2-13.txt, subtask2-14.txt, subtask2-15.txt
Case Name Status Exec Time Memory
subtask0-sample01.txt AC 1 ms 256 KB
subtask0-sample02.txt AC 1 ms 256 KB
subtask0-sample03.txt AC 1 ms 256 KB
subtask1-01.txt AC 1 ms 256 KB
subtask1-02.txt AC 1 ms 256 KB
subtask1-03.txt AC 1 ms 256 KB
subtask1-04.txt AC 1 ms 256 KB
subtask1-05.txt AC 1 ms 256 KB
subtask1-06.txt AC 1 ms 256 KB
subtask1-07.txt AC 1 ms 256 KB
subtask1-08.txt AC 1 ms 256 KB
subtask1-09.txt AC 1 ms 256 KB
subtask1-10.txt AC 1 ms 256 KB
subtask1-11.txt AC 1 ms 256 KB
subtask1-12.txt AC 1 ms 256 KB
subtask1-13.txt AC 1 ms 256 KB
subtask1-14.txt AC 1 ms 256 KB
subtask1-15.txt AC 1 ms 256 KB
subtask2-01.txt AC 2 ms 384 KB
subtask2-02.txt AC 3 ms 384 KB
subtask2-03.txt AC 24 ms 2304 KB
subtask2-04.txt AC 100 ms 8832 KB
subtask2-05.txt AC 101 ms 8832 KB
subtask2-06.txt TLE 2104 ms 9600 KB
subtask2-07.txt AC 77 ms 6528 KB
subtask2-08.txt TLE 2104 ms 9600 KB
subtask2-09.txt TLE 2104 ms 9600 KB
subtask2-10.txt TLE 2104 ms 9600 KB
subtask2-11.txt TLE 2104 ms 9600 KB
subtask2-12.txt AC 390 ms 9600 KB
subtask2-13.txt AC 113 ms 9600 KB
subtask2-14.txt TLE 2104 ms 9600 KB
subtask2-15.txt AC 1163 ms 9600 KB