Submission #347967

#TimeUsernameProblemLanguageResultExecution timeMemory
347967shrek12357trapezoid (balkan11_trapezoid)C++14
10 / 100
1099 ms7760 KiB
#include <iostream> #include <vector> #include <algorithm> #include <string> #include <map> #include <set> #include <climits> #include <cmath> #include <fstream> #include <queue> #include <stack> #include <iomanip> #include <bitset> //#include "molecules.h" using namespace std; #define ll long long //cin.tie(0);ios_base::sync_with_stdio(0); struct s { int x, y, x1, y1; }; bool comp(s a, s b) { return min(a.x, a.x1) < min(b.x, b.x1); } const int MAXN = 1e5 + 5; int BIT[MAXN]; void update(int idx, int val) { for (; idx < MAXN; idx += idx & -idx) { BIT[idx] = max(BIT[idx], val); } } int query(int idx) { int ret = 0; for (; idx > 0; idx -= idx & -idx) { ret = max(ret, BIT[idx]); } return ret; } int dp[MAXN]; const int MOD = 30013; int main() { int n; cin >> n; vector<s> nums; map<int, int> cc; vector<int> p; for (int i = 0; i < n; i++) { int a, b, c, d; cin >> a >> b >> c >> d; p.push_back(a); p.push_back(b); p.push_back(c); p.push_back(d); nums.push_back({ a, b, c, d }); } sort(p.begin(), p.end()); sort(nums.begin(), nums.end(), comp); int cnt = 1; for (int i = 0; i < nums.size(); i++) { if (cc.find(p[i]) != cc.end()) { continue; } cc[p[i]] = cnt; cnt++; } for (int i = 0; i < n; i++) { for (int j = 0; j < i; j++) { if (nums[j].y < nums[i].x && nums[j].y1 < nums[i].x1) { dp[i] = max(dp[i], dp[j]); } } dp[i]++; dp[i] = max(dp[i], dp[i - 1]); } cout << dp[n - 1] % MOD << " " << 0 << endl; }

Compilation message (stderr)

trapezoid.cpp: In function 'int main()':
trapezoid.cpp:67:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<s>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   67 |  for (int i = 0; i < nums.size(); i++) {
      |                  ~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...