fork download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int compare (int v[1001], int v1 [1001], int m){
  6. int check = 0;
  7. for (int i = 1; i <= m; ++i){
  8. if (v1[i] > v[i]){
  9. check = 1;
  10. break;
  11. }
  12. }
  13. return check;
  14. }
  15.  
  16. int n, m, v[1001][1001], q, v1[1001], st, dr, check, mij;
  17.  
  18. int main() {
  19. cin >> n >> m;
  20. for (int i = 1; i <= n; ++i){
  21. for (int j = 1; j <= m; ++j)
  22. cin >> v[i][j];
  23. }
  24. cin >> q;
  25. for (int i = 1; i <= q; ++i){
  26. for (int j = 1; j <= m; ++j)
  27. cin >> v1[j];
  28. st = 1;
  29. dr = n;
  30. while (st < dr){
  31. mij = (st + dr) / 2;
  32. check = compare(v[mij], v1, m);
  33. if (check == 0)
  34. dr = mij;
  35. else
  36. st = mij + 1;
  37. }
  38. check = 0;
  39. for (int j = 1; j <= m; ++j){
  40. if (v1[j] != v[dr][j]){
  41. cout << "NU" << '\n';
  42. check = 1;
  43. break;
  44. }
  45. }
  46. if (check == 0)
  47. cout << "DA" << '\n';
  48. }
  49. }
  50.  
Success #stdin #stdout 0.01s 5284KB
stdin
3 3
1 2 3
1 2 4
1 2 5
1
1 2 4
stdout
DA