Caso # | Resultado | Tiempo | Memoria |
---|---|---|---|
#1 |
Incorrecto
|
0.004 s | 0 KBi |
#2 |
Correcto
|
0.004 s | 1 KBi |
#3 |
Incorrecto
|
0.007 s | 13 KBi |
#4 |
Correcto
|
0.005 s | 10 KBi |
#5 |
Correcto
|
0.004 s | 1 KBi |
#6 |
Correcto
|
0.006 s | 19 KBi |
#7 |
Incorrecto
|
0.004 s | 1 KBi |
#8 |
Incorrecto
|
0.004 s | 0 KBi |
#9 |
Incorrecto
|
0.008 s | 10 KBi |
#10 |
Incorrecto
|
0.005 s | 0 KBi |
#11 |
Incorrecto
|
0.005 s | 8 KBi |
#12 |
Correcto
|
0.008 s | 0 KBi |
#13 |
Correcto
|
0.326 s | 5 KBi |
#14 |
Incorrecto
|
0.09 s | 3 KBi |
#15 |
Incorrecto
|
0.335 s | 6 KBi |
#include <bits/stdc++.h> using namespace std; void _print() { cerr << "]" << endl; } template<typename T, typename... V> void _print(T t, V... v) { cerr << t; if (sizeof...(v)) cerr << ", "; _print(v...); } #ifdef LOCAL #define dbg(x...) cerr << "[" << #x << "]: ["; _print(x) #else #define dbg(x...) #define endl '\n' #endif #define ll long long #define sz(x) int(x.size()) #define ii pair<int, int> #define ff first #define ss second struct clase { ii in, fi; bool operator < (const clase &o) const { if (fi == o.fi) return in >= o.in; return fi > o.fi; } }; ii separar(string s) { ii x; x.ff = stoi(s.substr(0, 2)); x.ss = stoi(s.substr(3)); return x; } clase get_clase(string a, string b) { return {separar(a), separar(b)}; } int main() { ios_base::sync_with_stdio(false); cin.tie(0); int n; cin >> n; vector<clase> arr; for (int i = 0; i < n; ++i) { string a, b; cin >> a >> b; arr.push_back(get_clase(a, b)); } sort(arr.begin(), arr.end()); priority_queue<clase> pq; for (int i = 0; i < n; ++i) { if (sz(pq) && pq.top().fi <= arr[i].in) pq.pop(); pq.push(arr[i]); } cout << sz(pq) << endl; return 0; }