Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- vector < pair<int, int> > a;
- int b[402], f[402];
- int main() {
- #ifndef ONLINE_JUDGE
- freopen("MCADRS.inp", "r", stdin);
- #endif // ONLINE_JUDGE
- int c, n; scanf("%d%d", &c, &n); int m=n*c;
- for (int i=0; i<m; ++i) {
- int x, y; scanf("%d%d", &x, &y);
- a.push_back(make_pair(x, y));
- }
- int d[]={0, 100, 200, 300}, ans=1000000007;
- do {
- for (int i=0; i<m; ++i) b[i]=a[i].second+d[a[i].first-1];
- for (int i=0; i<m; ++i) {
- f[i]=1;
- for (int j=i-1; j>=0; --j) f[i]=max(f[i], (b[j]<b[i]) ? f[j]+1 : 1);
- }
- ans=min(ans, m - *max_element(f, f+m));
- } while (next_permutation(d, d+4));
- printf("%d\n", ans);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment