Cod sursa(job #2922050)

Utilizator upsolveupsolve upsolve Data 3 septembrie 2022 12:43:10
Problema Cutii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.42 kb
/*
 Jai Shri Ram
            */
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
template <typename T>
ostream& operator<<(ostream& os, const vector<T>& v) {
  os << "[";
  for (int i = 0; i < int(v.size()); ++i) {
    os << v[i];
    if (i != v.size() - 1) {
      os << ", ";
    }
  }
  os << "]\n";
  return os;
}
template <typename T, typename U>
ostream& operator<<(ostream& os, const pair<T, U>& p) {
  os << "[";
  os << p.first;
  os << ", ";
  os << p.second;
  os << "]";
  return os;
}
#ifndef ONLINE_JUDGE
#define debug(x) cout << (#x) << " is " << (x) << endl
#else
#define debug(...) 42
#endif
struct pt {
  int x, y, z;
  pt(int _x, int _y, int _z) {
    x = _x;
    y = _y;
    z = _z;
  }
};
int n;
void solve() {
  vector<pt>st;
  for (int i = 0; i < n; i++) {
    int a, b, c;
    cin >> a >> b >> c;
    st.push_back(pt(a, b, c));
  }
  vector<int>dp(n, 1);
  for (int i = 1; i < n; i++) {
    for (int j = 0; j < i; j++) {
      if (st[i].x > st[j].x && st[i].y > st[j].y && st[i].z > st[j].z) {
        dp[i] = max(dp[i], 1 + dp[j]);
      }
    }
  }
  cout << *max_element(dp.begin(), dp.end()) << endl;
}
int main() {
#ifndef ONLINE_JUDGE
  freopen("cutii.in", "r", stdin);
  freopen("cutii.out", "w", stdout);
#endif
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int T;
  T = 1;
  cin >> n >> T;
  while (T--) {
    solve();
  }
}