# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
98074 | 2019-02-20T13:42:48 Z | dndhk | Worst Reporter 2 (JOI16_worst_reporter2) | C++14 | 6 ms | 4992 KB |
#include <bits/stdc++.h> #define pb push_back #define all(v) ((v).begin(), (v).end()) #define sortv(v) sort(all(v)) #define sz(v) ((int)(v).size()) #define uniqv(v) (v).erase(unique(all(v)), (v).end()) #define umax(a, b) (a)=max((a), (b)) #define umin(a, b) (a)=min((a), (b)) #define FOR(i,a,b) for(int i = (a); i <= (b); i++) #define rep(i,n) FOR(i,1,n) #define rep0(i,n) FOR(i,0,(int)(n)-1) #define FI first #define SE second #define INF 2000000000 #define INFLL 1000000000000000000LL using namespace std; typedef long long ll; typedef pair<int, int> pii; typedef pair<ll, ll> pll; const int MAX_N = 200000; int N; vector<pii> v1, v2; int idx[MAX_N+1]; vector<int> g[MAX_N+1]; int cnt[MAX_N+1]; int chk[MAX_N+1]; int ans; bool match(int x, int y){ for(int i = 0; i<x; i++){ if(chk[i]) continue; if(idx[i]>=y){ int sum = 0; for(int j=0; j<=idx[i]; j++){ sum+=cnt[j]; } if(sum==0 || sum==1) return false; } }return true; } int main(){ scanf("%d", &N); for(int i=0; i<N; i++) cnt[i]++; ans = N; for(int i=0 ;i<N; i++){ int a, b; scanf("%d%d", &a, &b); v1.push_back({a, b}); }for(int i=0; i<N; i++){ int a, b; scanf("%d%d", &a, &b); v2.push_back({a, b}); } for(int i=0; i<N; i++){ if(i==0) idx[i] = 0; else idx[i] = idx[i-1]; while(idx[i]!=N-1 && v2[idx[i]+1].SE >= v1[i].SE){ idx[i]++; } } int index = 0; for(int i=0; i<N; i++){ while(index<N && v2[index].SE >= v1[i].SE){ g[v2[index].FI].push_back(index); index++; } if(!g[v1[i].FI].empty()){ int k = g[v1[i].FI].back(); //cout<<i<<' '<<k<<endl; if(match(i, k)){ //cout<<i<<' '<<k<<endl; cnt[k]--; chk[i] = true; ans--; g[v1[i].FI].pop_back(); } } } cout<<ans; return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 6 ms | 4992 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 6 ms | 4992 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 6 ms | 4992 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 6 ms | 4992 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |