Submission #1110269

#TimeUsernameProblemLanguageResultExecution timeMemory
1110269vjudge1Card Collection (JOI24_collection)C++17
11 / 100
4070 ms97104 KiB
#include<bits/stdc++.h> #define INF 1e18 #define fi first #define se second #define FOR(i, k, n) for(ll i = k; i <= n; i++) #define FOR1(i, k, n) for(ll i = k; i >= n; i--) #define pb push_back #define fastio ios::sync_with_stdio(0); cin.tie(0); cout.tie(0) #define vi vector<int> #define pii pair<int, int> #define vii vector<pii> #define ll long long #define vll vector<ll> #define pll pair<ll, ll> #define re return 0 #define mii map<int, int> #define input "BESIEGE.inp" #define output "BESIEGE.out" #define rf freopen(input, "r", stdin); freopen(output, "w", stdout) using namespace std; const int maxn = 2e5 + 5; const int mod = 1e9 + 7; const int base = 998244353; void add(int &a, int b) { a += b; if(a >= mod) a -= mod; if(a < 0) a += mod; } int n, m; pii a[maxn], b[maxn]; vii dp[2005][2005]; set<pii> s; int main() { fastio; cin >> n >> m; FOR(i, 1, n) cin >> a[i].fi >> a[i].se; FOR(i, 1, m) cin >> b[i].fi >> b[i].se; FOR1(l, n, 1) { dp[l][l].pb(a[l]); FOR(r, l + 1, n) { s.clear(); FOR(k, l, r - 1) { for(auto x : dp[l][k]) for(auto t : dp[k + 1][r]) { int u = min(x.fi, t.fi); int v = min(x.se, t.se); s.insert({u, v}); u = max(x.fi, t.fi); v = max(x.se, t.se); s.insert({u, v}); } } for(auto x : s) dp[l][r].pb(x); } } FOR(i, 1, m) { bool ok = 0; for(auto x : dp[1][n]) if(x.fi == b[i].fi && x.se == b[i].se) { ok = 1; break; } if(ok) cout << i << " "; } re; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...