#include <algorithm>
#include <iostream>
#include <cstdio>
#include <vector>
#include <set>
#include <stack>
using namespace std;
const int MODULO = 1000*1000*1000+7;
const int NB_MAX_OBJETS = 1000*1000;
template<int NB_NOEUDS>
class UnionFind
{
public:
UnionFind ()
{
for (int iNoeud=0; iNoeud<NB_NOEUDS; iNoeud++) {
representants[iNoeud] = iNoeud;
tailles[iNoeud] = 1;
}
}
int representant (const int iNoeud)
{
if (representants[iNoeud] == iNoeud) {
return iNoeud;
}
return representants[iNoeud] = representant(representants[iNoeud]);
}
int taille (const int iNoeud)
{
return tailles[representant(iNoeud)];
}
void unir (int iNoeud1, int iNoeud2)
{
iNoeud1 = representant(iNoeud1);
iNoeud2 = representant(iNoeud2);
if (iNoeud1 == iNoeud2) {
return;
}
if (tailles[iNoeud2] > tailles[iNoeud1]) {
swap(iNoeud1, iNoeud2);
}
tailles[iNoeud1] += tailles[iNoeud2];
tailles[iNoeud2] = 0;
representants[iNoeud2] = iNoeud1;
}
private:
int representants[NB_NOEUDS];
int tailles[NB_NOEUDS]; // Valide uniquement pour les racines
};
struct Intervalle
{
int debut, fin;
int taille () const
{
return fin - debut;
}
bool estInclusDans (const Intervalle &autre) const
{
return debut >= autre.debut && fin <= autre.fin;
}
bool operator< (const Intervalle &autre) const
{
if (debut != autre.debut) {
return debut < autre.debut;
}
return fin < autre.fin;
}
};
Intervalle getUnion (const Intervalle &a, const Intervalle &b)
{
return Intervalle {min(a.debut, b.debut), max(a.fin, b.fin)};
}
Intervalle getIntersection (const Intervalle &a, const Intervalle &b)
{
return Intervalle {max(a.debut, b.debut), min(a.fin, b.fin)};
}
bool getAIntersection (const Intervalle &a, const Intervalle &b)
{
return (a.debut < b.debut && a.fin > b.debut && a.fin < b.fin)
|| (b.debut < a.debut && b.fin > a.debut && b.fin < a.fin);
}
int nbObjets;
Intervalle intervalles[NB_MAX_OBJETS];
UnionFind<2*NB_MAX_OBJETS> unionFind; // Maintient les états équivalents
/*
* Calcul de la solution optimale
*/
int getPuissance (const int puissance)
{
int res = 1;
for (int iPuissance=0; iPuissance<puissance; iPuissance++) {
res = (res*2) % MODULO;
}
return res;
}
int getNbPossibilites ()
{
sort(intervalles, intervalles+nbObjets, [](const Intervalle &a, const Intervalle &b) {
return a.fin < b.fin;
});
set<Intervalle> pointsRestants;
for (int iPoint=0; iPoint<nbObjets; iPoint++) {
pointsRestants.insert(intervalles[iPoint]);
}
// Tous les intervalles stockés sont disjoints et représentent une composante connexe
set< pair<Intervalle, int> > enCours; // {intervalle, etat}
int nbComposantes = 0;
for (int iPoint=0; iPoint<nbObjets; iPoint++) {
pointsRestants.erase(intervalles[iPoint]);
Intervalle actuel = intervalles[iPoint];
int etatActuel = 2*iPoint;
nbComposantes++;
set<pair<Intervalle, int>>::iterator enContact = enCours.upper_bound( make_pair(actuel, etatActuel) );
// Vérifier le contact à gauche
if (enContact != enCours.begin()) {
enContact--;
if (enContact->first.fin > actuel.debut) { // Il y a une intersection
const Intervalle intersection = getIntersection(actuel, enContact->first);
if (pointsRestants.lower_bound(intersection) != pointsRestants.end()
&& pointsRestants.lower_bound(intersection)->debut < intersection.fin) { // Impossible
return 0;
}
else {
etatActuel = unionFind.representant(enContact->second ^ 1);
nbComposantes--;
actuel.debut = enContact->first.fin;
if (actuel.taille() <= 0) {
continue;
}
}
}
}
// Inclusions ou contact à droite
enContact = enCours.lower_bound( make_pair(actuel, etatActuel) );
while (enContact != enCours.end() && enContact->first.debut < actuel.fin) { // Il y a une intersection
const Intervalle intersection = getIntersection(actuel, enContact->first);
const Intervalle reunion = getUnion(actuel, enContact->first);
const int autreEtat = enContact->second;
if (pointsRestants.lower_bound(intersection) != pointsRestants.end()
&& pointsRestants.lower_bound(intersection)->debut < intersection.fin) { // Fusionner
if (unionFind.representant(etatActuel) == (unionFind.representant(autreEtat) ^ 1)) {
return 0;
}
// Marquer les deux états équivalents
if (unionFind.representant(etatActuel) != unionFind.representant(autreEtat)) {
unionFind.unir(etatActuel, autreEtat);
unionFind.unir(etatActuel^1, autreEtat^1);
nbComposantes--;
}
enCours.erase(enContact);
actuel = reunion;
}
else {
if (enContact->first.fin > actuel.fin) {
actuel.fin = enContact->first.debut;
}
else {
enCours.erase(enContact);
}
}
enContact = enCours.lower_bound(make_pair(actuel, etatActuel));
}
enCours.insert( make_pair(actuel, etatActuel) );
}
return getPuissance(nbComposantes);
}
int main ()
{
scanf("%d", &nbObjets);
for (int iObjet=0; iObjet<nbObjets; iObjet++) {
scanf("%d %d", &intervalles[iObjet].debut, &intervalles[iObjet].fin);
}
printf("%d\n", getNbPossibilites());
return 0;
}
Compilation message
port_facility.cpp: In function 'int main()':
port_facility.cpp:225:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
scanf("%d", &nbObjets);
~~~~~^~~~~~~~~~~~~~~~~
port_facility.cpp:228:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
scanf("%d %d", &intervalles[iObjet].debut, &intervalles[iObjet].fin);
~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
16 ms |
15992 KB |
Output is correct |
2 |
Correct |
15 ms |
16124 KB |
Output is correct |
3 |
Correct |
16 ms |
16160 KB |
Output is correct |
4 |
Correct |
15 ms |
16160 KB |
Output is correct |
5 |
Correct |
15 ms |
16248 KB |
Output is correct |
6 |
Correct |
16 ms |
16248 KB |
Output is correct |
7 |
Correct |
16 ms |
16260 KB |
Output is correct |
8 |
Correct |
17 ms |
16260 KB |
Output is correct |
9 |
Correct |
15 ms |
16260 KB |
Output is correct |
10 |
Correct |
15 ms |
16260 KB |
Output is correct |
11 |
Correct |
15 ms |
16336 KB |
Output is correct |
12 |
Correct |
14 ms |
16336 KB |
Output is correct |
13 |
Correct |
15 ms |
16336 KB |
Output is correct |
14 |
Correct |
15 ms |
16336 KB |
Output is correct |
15 |
Correct |
16 ms |
16336 KB |
Output is correct |
16 |
Correct |
15 ms |
16336 KB |
Output is correct |
17 |
Correct |
17 ms |
16336 KB |
Output is correct |
18 |
Correct |
20 ms |
16352 KB |
Output is correct |
19 |
Correct |
15 ms |
16352 KB |
Output is correct |
20 |
Correct |
15 ms |
16352 KB |
Output is correct |
21 |
Correct |
16 ms |
16352 KB |
Output is correct |
22 |
Correct |
18 ms |
16352 KB |
Output is correct |
23 |
Correct |
16 ms |
16356 KB |
Output is correct |
24 |
Correct |
16 ms |
16356 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
16 ms |
15992 KB |
Output is correct |
2 |
Correct |
15 ms |
16124 KB |
Output is correct |
3 |
Correct |
16 ms |
16160 KB |
Output is correct |
4 |
Correct |
15 ms |
16160 KB |
Output is correct |
5 |
Correct |
15 ms |
16248 KB |
Output is correct |
6 |
Correct |
16 ms |
16248 KB |
Output is correct |
7 |
Correct |
16 ms |
16260 KB |
Output is correct |
8 |
Correct |
17 ms |
16260 KB |
Output is correct |
9 |
Correct |
15 ms |
16260 KB |
Output is correct |
10 |
Correct |
15 ms |
16260 KB |
Output is correct |
11 |
Correct |
15 ms |
16336 KB |
Output is correct |
12 |
Correct |
14 ms |
16336 KB |
Output is correct |
13 |
Correct |
15 ms |
16336 KB |
Output is correct |
14 |
Correct |
15 ms |
16336 KB |
Output is correct |
15 |
Correct |
16 ms |
16336 KB |
Output is correct |
16 |
Correct |
15 ms |
16336 KB |
Output is correct |
17 |
Correct |
17 ms |
16336 KB |
Output is correct |
18 |
Correct |
20 ms |
16352 KB |
Output is correct |
19 |
Correct |
15 ms |
16352 KB |
Output is correct |
20 |
Correct |
15 ms |
16352 KB |
Output is correct |
21 |
Correct |
16 ms |
16352 KB |
Output is correct |
22 |
Correct |
18 ms |
16352 KB |
Output is correct |
23 |
Correct |
16 ms |
16356 KB |
Output is correct |
24 |
Correct |
16 ms |
16356 KB |
Output is correct |
25 |
Correct |
18 ms |
16380 KB |
Output is correct |
26 |
Correct |
19 ms |
16380 KB |
Output is correct |
27 |
Correct |
21 ms |
16380 KB |
Output is correct |
28 |
Correct |
18 ms |
16380 KB |
Output is correct |
29 |
Correct |
24 ms |
16380 KB |
Output is correct |
30 |
Correct |
18 ms |
16380 KB |
Output is correct |
31 |
Correct |
19 ms |
16380 KB |
Output is correct |
32 |
Correct |
19 ms |
16380 KB |
Output is correct |
33 |
Correct |
18 ms |
16380 KB |
Output is correct |
34 |
Correct |
18 ms |
16380 KB |
Output is correct |
35 |
Correct |
16 ms |
16380 KB |
Output is correct |
36 |
Correct |
17 ms |
16380 KB |
Output is correct |
37 |
Correct |
16 ms |
16380 KB |
Output is correct |
38 |
Correct |
16 ms |
16380 KB |
Output is correct |
39 |
Correct |
18 ms |
16508 KB |
Output is correct |
40 |
Correct |
18 ms |
16508 KB |
Output is correct |
41 |
Correct |
19 ms |
16508 KB |
Output is correct |
42 |
Correct |
17 ms |
16508 KB |
Output is correct |
43 |
Correct |
17 ms |
16508 KB |
Output is correct |
44 |
Correct |
17 ms |
16508 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
16 ms |
15992 KB |
Output is correct |
2 |
Correct |
15 ms |
16124 KB |
Output is correct |
3 |
Correct |
16 ms |
16160 KB |
Output is correct |
4 |
Correct |
15 ms |
16160 KB |
Output is correct |
5 |
Correct |
15 ms |
16248 KB |
Output is correct |
6 |
Correct |
16 ms |
16248 KB |
Output is correct |
7 |
Correct |
16 ms |
16260 KB |
Output is correct |
8 |
Correct |
17 ms |
16260 KB |
Output is correct |
9 |
Correct |
15 ms |
16260 KB |
Output is correct |
10 |
Correct |
15 ms |
16260 KB |
Output is correct |
11 |
Correct |
15 ms |
16336 KB |
Output is correct |
12 |
Correct |
14 ms |
16336 KB |
Output is correct |
13 |
Correct |
15 ms |
16336 KB |
Output is correct |
14 |
Correct |
15 ms |
16336 KB |
Output is correct |
15 |
Correct |
16 ms |
16336 KB |
Output is correct |
16 |
Correct |
15 ms |
16336 KB |
Output is correct |
17 |
Correct |
17 ms |
16336 KB |
Output is correct |
18 |
Correct |
20 ms |
16352 KB |
Output is correct |
19 |
Correct |
15 ms |
16352 KB |
Output is correct |
20 |
Correct |
15 ms |
16352 KB |
Output is correct |
21 |
Correct |
16 ms |
16352 KB |
Output is correct |
22 |
Correct |
18 ms |
16352 KB |
Output is correct |
23 |
Correct |
16 ms |
16356 KB |
Output is correct |
24 |
Correct |
16 ms |
16356 KB |
Output is correct |
25 |
Correct |
18 ms |
16380 KB |
Output is correct |
26 |
Correct |
19 ms |
16380 KB |
Output is correct |
27 |
Correct |
21 ms |
16380 KB |
Output is correct |
28 |
Correct |
18 ms |
16380 KB |
Output is correct |
29 |
Correct |
24 ms |
16380 KB |
Output is correct |
30 |
Correct |
18 ms |
16380 KB |
Output is correct |
31 |
Correct |
19 ms |
16380 KB |
Output is correct |
32 |
Correct |
19 ms |
16380 KB |
Output is correct |
33 |
Correct |
18 ms |
16380 KB |
Output is correct |
34 |
Correct |
18 ms |
16380 KB |
Output is correct |
35 |
Correct |
16 ms |
16380 KB |
Output is correct |
36 |
Correct |
17 ms |
16380 KB |
Output is correct |
37 |
Correct |
16 ms |
16380 KB |
Output is correct |
38 |
Correct |
16 ms |
16380 KB |
Output is correct |
39 |
Correct |
18 ms |
16508 KB |
Output is correct |
40 |
Correct |
18 ms |
16508 KB |
Output is correct |
41 |
Correct |
19 ms |
16508 KB |
Output is correct |
42 |
Correct |
17 ms |
16508 KB |
Output is correct |
43 |
Correct |
17 ms |
16508 KB |
Output is correct |
44 |
Correct |
17 ms |
16508 KB |
Output is correct |
45 |
Correct |
139 ms |
21876 KB |
Output is correct |
46 |
Correct |
135 ms |
21876 KB |
Output is correct |
47 |
Correct |
131 ms |
21956 KB |
Output is correct |
48 |
Correct |
134 ms |
21956 KB |
Output is correct |
49 |
Correct |
132 ms |
21956 KB |
Output is correct |
50 |
Correct |
134 ms |
21956 KB |
Output is correct |
51 |
Correct |
94 ms |
21956 KB |
Output is correct |
52 |
Correct |
135 ms |
23292 KB |
Output is correct |
53 |
Correct |
101 ms |
23292 KB |
Output is correct |
54 |
Correct |
83 ms |
23292 KB |
Output is correct |
55 |
Correct |
83 ms |
23292 KB |
Output is correct |
56 |
Correct |
94 ms |
23292 KB |
Output is correct |
57 |
Correct |
144 ms |
23292 KB |
Output is correct |
58 |
Correct |
161 ms |
23292 KB |
Output is correct |
59 |
Correct |
146 ms |
23292 KB |
Output is correct |
60 |
Correct |
135 ms |
23292 KB |
Output is correct |
61 |
Correct |
134 ms |
23292 KB |
Output is correct |
62 |
Correct |
108 ms |
23292 KB |
Output is correct |
63 |
Correct |
84 ms |
23292 KB |
Output is correct |
64 |
Correct |
120 ms |
23292 KB |
Output is correct |
65 |
Correct |
98 ms |
23292 KB |
Output is correct |
66 |
Correct |
96 ms |
23292 KB |
Output is correct |
67 |
Correct |
121 ms |
23292 KB |
Output is correct |
68 |
Correct |
120 ms |
23292 KB |
Output is correct |
69 |
Correct |
146 ms |
23292 KB |
Output is correct |
70 |
Correct |
129 ms |
23292 KB |
Output is correct |
71 |
Correct |
117 ms |
23292 KB |
Output is correct |
72 |
Correct |
117 ms |
23292 KB |
Output is correct |
73 |
Correct |
129 ms |
23292 KB |
Output is correct |
74 |
Correct |
135 ms |
23292 KB |
Output is correct |
75 |
Correct |
158 ms |
23292 KB |
Output is correct |
76 |
Correct |
156 ms |
23292 KB |
Output is correct |
77 |
Correct |
160 ms |
23296 KB |
Output is correct |
78 |
Correct |
131 ms |
23296 KB |
Output is correct |
79 |
Correct |
136 ms |
23296 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
16 ms |
15992 KB |
Output is correct |
2 |
Correct |
15 ms |
16124 KB |
Output is correct |
3 |
Correct |
16 ms |
16160 KB |
Output is correct |
4 |
Correct |
15 ms |
16160 KB |
Output is correct |
5 |
Correct |
15 ms |
16248 KB |
Output is correct |
6 |
Correct |
16 ms |
16248 KB |
Output is correct |
7 |
Correct |
16 ms |
16260 KB |
Output is correct |
8 |
Correct |
17 ms |
16260 KB |
Output is correct |
9 |
Correct |
15 ms |
16260 KB |
Output is correct |
10 |
Correct |
15 ms |
16260 KB |
Output is correct |
11 |
Correct |
15 ms |
16336 KB |
Output is correct |
12 |
Correct |
14 ms |
16336 KB |
Output is correct |
13 |
Correct |
15 ms |
16336 KB |
Output is correct |
14 |
Correct |
15 ms |
16336 KB |
Output is correct |
15 |
Correct |
16 ms |
16336 KB |
Output is correct |
16 |
Correct |
15 ms |
16336 KB |
Output is correct |
17 |
Correct |
17 ms |
16336 KB |
Output is correct |
18 |
Correct |
20 ms |
16352 KB |
Output is correct |
19 |
Correct |
15 ms |
16352 KB |
Output is correct |
20 |
Correct |
15 ms |
16352 KB |
Output is correct |
21 |
Correct |
16 ms |
16352 KB |
Output is correct |
22 |
Correct |
18 ms |
16352 KB |
Output is correct |
23 |
Correct |
16 ms |
16356 KB |
Output is correct |
24 |
Correct |
16 ms |
16356 KB |
Output is correct |
25 |
Correct |
18 ms |
16380 KB |
Output is correct |
26 |
Correct |
19 ms |
16380 KB |
Output is correct |
27 |
Correct |
21 ms |
16380 KB |
Output is correct |
28 |
Correct |
18 ms |
16380 KB |
Output is correct |
29 |
Correct |
24 ms |
16380 KB |
Output is correct |
30 |
Correct |
18 ms |
16380 KB |
Output is correct |
31 |
Correct |
19 ms |
16380 KB |
Output is correct |
32 |
Correct |
19 ms |
16380 KB |
Output is correct |
33 |
Correct |
18 ms |
16380 KB |
Output is correct |
34 |
Correct |
18 ms |
16380 KB |
Output is correct |
35 |
Correct |
16 ms |
16380 KB |
Output is correct |
36 |
Correct |
17 ms |
16380 KB |
Output is correct |
37 |
Correct |
16 ms |
16380 KB |
Output is correct |
38 |
Correct |
16 ms |
16380 KB |
Output is correct |
39 |
Correct |
18 ms |
16508 KB |
Output is correct |
40 |
Correct |
18 ms |
16508 KB |
Output is correct |
41 |
Correct |
19 ms |
16508 KB |
Output is correct |
42 |
Correct |
17 ms |
16508 KB |
Output is correct |
43 |
Correct |
17 ms |
16508 KB |
Output is correct |
44 |
Correct |
17 ms |
16508 KB |
Output is correct |
45 |
Correct |
139 ms |
21876 KB |
Output is correct |
46 |
Correct |
135 ms |
21876 KB |
Output is correct |
47 |
Correct |
131 ms |
21956 KB |
Output is correct |
48 |
Correct |
134 ms |
21956 KB |
Output is correct |
49 |
Correct |
132 ms |
21956 KB |
Output is correct |
50 |
Correct |
134 ms |
21956 KB |
Output is correct |
51 |
Correct |
94 ms |
21956 KB |
Output is correct |
52 |
Correct |
135 ms |
23292 KB |
Output is correct |
53 |
Correct |
101 ms |
23292 KB |
Output is correct |
54 |
Correct |
83 ms |
23292 KB |
Output is correct |
55 |
Correct |
83 ms |
23292 KB |
Output is correct |
56 |
Correct |
94 ms |
23292 KB |
Output is correct |
57 |
Correct |
144 ms |
23292 KB |
Output is correct |
58 |
Correct |
161 ms |
23292 KB |
Output is correct |
59 |
Correct |
146 ms |
23292 KB |
Output is correct |
60 |
Correct |
135 ms |
23292 KB |
Output is correct |
61 |
Correct |
134 ms |
23292 KB |
Output is correct |
62 |
Correct |
108 ms |
23292 KB |
Output is correct |
63 |
Correct |
84 ms |
23292 KB |
Output is correct |
64 |
Correct |
120 ms |
23292 KB |
Output is correct |
65 |
Correct |
98 ms |
23292 KB |
Output is correct |
66 |
Correct |
96 ms |
23292 KB |
Output is correct |
67 |
Correct |
121 ms |
23292 KB |
Output is correct |
68 |
Correct |
120 ms |
23292 KB |
Output is correct |
69 |
Correct |
146 ms |
23292 KB |
Output is correct |
70 |
Correct |
129 ms |
23292 KB |
Output is correct |
71 |
Correct |
117 ms |
23292 KB |
Output is correct |
72 |
Correct |
117 ms |
23292 KB |
Output is correct |
73 |
Correct |
129 ms |
23292 KB |
Output is correct |
74 |
Correct |
135 ms |
23292 KB |
Output is correct |
75 |
Correct |
158 ms |
23292 KB |
Output is correct |
76 |
Correct |
156 ms |
23292 KB |
Output is correct |
77 |
Correct |
160 ms |
23296 KB |
Output is correct |
78 |
Correct |
131 ms |
23296 KB |
Output is correct |
79 |
Correct |
136 ms |
23296 KB |
Output is correct |
80 |
Correct |
1478 ms |
84308 KB |
Output is correct |
81 |
Correct |
1484 ms |
98800 KB |
Output is correct |
82 |
Correct |
1469 ms |
113416 KB |
Output is correct |
83 |
Correct |
1533 ms |
128016 KB |
Output is correct |
84 |
Correct |
1469 ms |
142412 KB |
Output is correct |
85 |
Correct |
1138 ms |
156704 KB |
Output is correct |
86 |
Correct |
922 ms |
171320 KB |
Output is correct |
87 |
Correct |
1710 ms |
200904 KB |
Output is correct |
88 |
Correct |
1223 ms |
200904 KB |
Output is correct |
89 |
Correct |
897 ms |
214216 KB |
Output is correct |
90 |
Correct |
807 ms |
228684 KB |
Output is correct |
91 |
Correct |
806 ms |
243384 KB |
Output is correct |
92 |
Correct |
1709 ms |
273540 KB |
Output is correct |
93 |
Correct |
2086 ms |
273540 KB |
Output is correct |
94 |
Correct |
1594 ms |
286808 KB |
Output is correct |
95 |
Correct |
1428 ms |
301692 KB |
Output is correct |
96 |
Correct |
1401 ms |
315980 KB |
Output is correct |
97 |
Correct |
1156 ms |
330572 KB |
Output is correct |
98 |
Correct |
994 ms |
343460 KB |
Output is correct |
99 |
Correct |
1014 ms |
357936 KB |
Output is correct |
100 |
Correct |
1670 ms |
371308 KB |
Output is correct |
101 |
Correct |
1675 ms |
384864 KB |
Output is correct |
102 |
Correct |
1658 ms |
399396 KB |
Output is correct |
103 |
Correct |
1707 ms |
412784 KB |
Output is correct |
104 |
Correct |
1885 ms |
426084 KB |
Output is correct |
105 |
Correct |
1823 ms |
439448 KB |
Output is correct |
106 |
Correct |
1537 ms |
454028 KB |
Output is correct |
107 |
Correct |
1666 ms |
467016 KB |
Output is correct |
108 |
Correct |
1881 ms |
478560 KB |
Output is correct |
109 |
Correct |
1764 ms |
493272 KB |
Output is correct |
110 |
Correct |
1843 ms |
520244 KB |
Output is correct |
111 |
Correct |
1897 ms |
534824 KB |
Output is correct |
112 |
Correct |
1964 ms |
547676 KB |
Output is correct |
113 |
Correct |
1413 ms |
547676 KB |
Output is correct |
114 |
Correct |
1468 ms |
559476 KB |
Output is correct |