| 23242 | 2026-01-16 19:03:00 | AkosVagyok | Munkák | cpp17 | Részben helyes 0/80 | 699ms | 2372 KiB |
#include <iostream>
#include <fstream>
#include <vector>
#include <cmath>
#include <algorithm>
#include <stack>
using namespace std;
ifstream fin("be.in");
struct munka {
int nap;
int x;
int y;
int index;
};
bool comp2(munka a, munka b) {
return a.x < b.x;
}
bool comp(munka a, munka b) {
return a.nap < b.nap;
}
vector <munka> sdt;
vector <munka> t;
int n, m;
void be() {
cin >> m >> n;
t.resize(n + 1);
for (int i = 1; i <= n; i++) {
int a, b;
cin >> a >> b;
t[i].nap = a;
t[i].x = b;
t[i].y = a + 1;
t[i].index = i;
}
sort(t.begin(), t.end(), comp);
}
void ki() {
cout << endl << endl << endl << endl << endl;
for (int i = 1; i <= n; i++) {
cout << t[i].nap << ' ' << t[i].x << endl;
}
cout << endl << endl << endl << endl << endl;
}
struct munkaba {
int os;
int hossz;
};
bool compare(munkaba a, munkaba b) {
return a.hossz < b.hossz;
}
stack <munkaba> st;
vector <int> seg2;
vector <munkaba> seg;
vector <int> os;
vector <int> hossz;
void munka() {
hossz.resize(n + 1);
os.resize(n + 1);
for (int i = 1; i <= n; i++) {
hossz[i] = t[i].x;
//cout << hossz[i] << ' '<<endl;
}
for (int i = 1; i <= n; i++) {
int maxx = 0;
int index1= 0;
if (i>=3&&t[i-1].nap!=t[i-2].nap&& t[i-1].nap < t[i].nap) {
for (int j = i - 1; j >= 1 && j >= i - 2; j--) {
//cout << j << ' ';
if (t[j].y != t[i].nap && t[j].nap != t[i].nap) {
if (hossz[j] + hossz[i] > maxx) {
munkaba a;
a.hossz = hossz[i] + hossz[j];
maxx = a.hossz;
index1 = j;
a.os = j;
seg.push_back(a);
}
}
else {
if (t[os[j]].y != t[i].nap && t[os[j]].nap != t[i].nap) {
if (hossz[os[j]] + hossz[i] > maxx) {
munkaba a;
a.hossz = hossz[i] + hossz[os[j]];
a.os = os[j];
maxx = a.hossz;
index1 = os[j];
seg.push_back(a);
}
}
}
}
}
else {
for (int j = i - 1; j >= 1; j--) {
if (maxx < hossz[j]+hossz[i]) {
if (t[j].y != t[i].nap && t[j].nap != t[i].nap) {
munkaba a;
index1 = j;
a.hossz = hossz[i] + hossz[j];
maxx = a.hossz;
a.os = j;
seg.push_back(a);
}
}
}
}
if (maxx) {
os[i] = index1;
hossz[i] = maxx;
}
}
}
int k = 1;
void visszalepesszamolas(int kcs) {
if (os[kcs]) {
k++;
visszalepesszamolas(os[kcs]);
}
}
void visszalepes(int kcs) {
if (os[kcs]) {
cout << t[os[kcs]].index << ' ';
visszalepes(os[kcs]);
}
}
int db6 = 0;
void munka2() {
sort(t.begin(), t.end(), comp2);
sdt.push_back(t.back());
/*for (int i = 1; i <= n; i++) {
cout << t[i].x << ' ' << t[i].index<<endl;
}*/
/*cout << endl;*/
db6 += t.back().x;
for (int i = t.size() - 2; i >= 1; i--) {
bool d=1;
for (int j = 0; j < sdt.size(); j++) {
if (!(t[sdt[j].index].nap!=t[i].nap&&t[sdt[j].index].nap!=t[i].y&& t[sdt[j].index].y != t[i].nap)) {
d = false;
}
}
if (d) {
sdt.push_back(t[i]);
db6 += t[i].x;
}
}
}
int main()
{
be();
//ki();
//munka();
//cout << endl << endl << endl;
//int maxx = hossz[1];
//int index = 1;
///*for (int i = 1; i <= n; i++) {
// cout << hossz[i] << ' ';
//}*/
//cout << endl;
//for (int i = 1; i <= n; i++) {
// if (maxx < hossz[i]) {
// maxx = hossz[i];
// index = i;
// }
//}
////cout << endl << endl << endl;
//visszalepesszamolas(index);
//cout << maxx << ' ' << k << endl;
//cout << t[index].index << ' ';
//visszalepes(index);
munka2();
cout << db6 << ' ' << sdt.size() << endl;
for (int i = 0; i < sdt.size(); i++) {
cout << sdt[i].index << ' ';
}
}
| Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Részben helyes | 1ms | 316 KiB | ||||
| 2 | Időlimit túllépés | 681ms | 2356 KiB | ||||
| subtask2 | 0/10 | ||||||
| 3 | Hibás válasz | 1ms | 316 KiB | ||||
| 4 | Részben helyes | 1ms | 316 KiB | ||||
| 5 | Hibás válasz | 1ms | 392 KiB | ||||
| 6 | Hibás válasz | 1ms | 316 KiB | ||||
| 7 | Hibás válasz | 1ms | 316 KiB | ||||
| subtask3 | 0/10 | ||||||
| 8 | Hibás válasz | 1ms | 500 KiB | ||||
| 9 | Részben helyes | 1ms | 316 KiB | ||||
| 10 | Hibás válasz | 1ms | 316 KiB | ||||
| 11 | Hibás válasz | 1ms | 500 KiB | ||||
| 12 | Hibás válasz | 1ms | 356 KiB | ||||
| subtask4 | 0/10 | ||||||
| 13 | Hibás válasz | 1ms | 316 KiB | ||||
| 14 | Részben helyes | 1ms | 316 KiB | ||||
| 15 | Hibás válasz | 1ms | 392 KiB | ||||
| 16 | Hibás válasz | 1ms | 316 KiB | ||||
| 17 | Hibás válasz | 1ms | 316 KiB | ||||
| 18 | Hibás válasz | 1ms | 316 KiB | ||||
| 19 | Hibás válasz | 1ms | 316 KiB | ||||
| 20 | Hibás válasz | 1ms | 316 KiB | ||||
| 21 | Hibás válasz | 1ms | 316 KiB | ||||
| 22 | Hibás válasz | 1ms | 316 KiB | ||||
| subtask5 | 0/10 | ||||||
| 23 | Hibás válasz | 1ms | 500 KiB | ||||
| 24 | Részben helyes | 1ms | 316 KiB | ||||
| 25 | Hibás válasz | 1ms | 316 KiB | ||||
| 26 | Hibás válasz | 1ms | 500 KiB | ||||
| 27 | Hibás válasz | 1ms | 356 KiB | ||||
| 28 | Hibás válasz | 1ms | 316 KiB | ||||
| 29 | Hibás válasz | 1ms | 316 KiB | ||||
| 30 | Hibás válasz | 1ms | 316 KiB | ||||
| 31 | Hibás válasz | 1ms | 316 KiB | ||||
| 32 | Hibás válasz | 1ms | 316 KiB | ||||
| subtask6 | 0/10 | ||||||
| 33 | Hibás válasz | 1ms | 316 KiB | ||||
| 34 | Részben helyes | 1ms | 316 KiB | ||||
| 35 | Hibás válasz | 1ms | 392 KiB | ||||
| 36 | Hibás válasz | 1ms | 316 KiB | ||||
| 37 | Hibás válasz | 1ms | 316 KiB | ||||
| 38 | Hibás válasz | 1ms | 500 KiB | ||||
| 39 | Részben helyes | 1ms | 316 KiB | ||||
| 40 | Hibás válasz | 1ms | 316 KiB | ||||
| 41 | Hibás válasz | 1ms | 500 KiB | ||||
| 42 | Hibás válasz | 1ms | 356 KiB | ||||
| 43 | Hibás válasz | 1ms | 316 KiB | ||||
| 44 | Hibás válasz | 1ms | 316 KiB | ||||
| 45 | Hibás válasz | 1ms | 316 KiB | ||||
| 46 | Hibás válasz | 1ms | 316 KiB | ||||
| 47 | Hibás válasz | 1ms | 316 KiB | ||||
| 48 | Hibás válasz | 1ms | 316 KiB | ||||
| 49 | Hibás válasz | 1ms | 316 KiB | ||||
| 50 | Hibás válasz | 1ms | 316 KiB | ||||
| 51 | Hibás válasz | 1ms | 316 KiB | ||||
| 52 | Hibás válasz | 1ms | 316 KiB | ||||
| 53 | Hibás válasz | 1ms | 316 KiB | ||||
| 54 | Hibás válasz | 1ms | 316 KiB | ||||
| 55 | Hibás válasz | 1ms | 316 KiB | ||||
| 56 | Hibás válasz | 1ms | 316 KiB | ||||
| 57 | Hibás válasz | 1ms | 316 KiB | ||||
| subtask7 | 0/10 | ||||||
| 58 | Hibás válasz | 1ms | 316 KiB | ||||
| 59 | Részben helyes | 1ms | 316 KiB | ||||
| 60 | Hibás válasz | 1ms | 392 KiB | ||||
| 61 | Hibás válasz | 1ms | 316 KiB | ||||
| 62 | Hibás válasz | 1ms | 316 KiB | ||||
| 63 | Hibás válasz | 1ms | 500 KiB | ||||
| 64 | Részben helyes | 1ms | 316 KiB | ||||
| 65 | Hibás válasz | 1ms | 316 KiB | ||||
| 66 | Hibás válasz | 1ms | 500 KiB | ||||
| 67 | Hibás válasz | 1ms | 356 KiB | ||||
| 68 | Hibás válasz | 1ms | 316 KiB | ||||
| 69 | Hibás válasz | 1ms | 316 KiB | ||||
| 70 | Hibás válasz | 1ms | 316 KiB | ||||
| 71 | Hibás válasz | 1ms | 316 KiB | ||||
| 72 | Hibás válasz | 1ms | 316 KiB | ||||
| 73 | Hibás válasz | 1ms | 316 KiB | ||||
| 74 | Hibás válasz | 1ms | 316 KiB | ||||
| 75 | Hibás válasz | 1ms | 316 KiB | ||||
| 76 | Hibás válasz | 1ms | 316 KiB | ||||
| 77 | Hibás válasz | 1ms | 316 KiB | ||||
| 78 | Hibás válasz | 1ms | 316 KiB | ||||
| 79 | Hibás válasz | 1ms | 316 KiB | ||||
| 80 | Hibás válasz | 1ms | 316 KiB | ||||
| 81 | Hibás válasz | 1ms | 316 KiB | ||||
| 82 | Hibás válasz | 1ms | 316 KiB | ||||
| 83 | Időlimit túllépés | 699ms | 1452 KiB | ||||
| 84 | Időlimit túllépés | 699ms | 1500 KiB | ||||
| 85 | Időlimit túllépés | 699ms | 1456 KiB | ||||
| 86 | Időlimit túllépés | 699ms | 1452 KiB | ||||
| 87 | Időlimit túllépés | 676ms | 1452 KiB | ||||
| subtask8 | 0/20 | ||||||
| 88 | Hibás válasz | 1ms | 316 KiB | ||||
| 89 | Részben helyes | 1ms | 316 KiB | ||||
| 90 | Hibás válasz | 1ms | 392 KiB | ||||
| 91 | Hibás válasz | 1ms | 316 KiB | ||||
| 92 | Hibás válasz | 1ms | 316 KiB | ||||
| 93 | Hibás válasz | 1ms | 500 KiB | ||||
| 94 | Részben helyes | 1ms | 316 KiB | ||||
| 95 | Hibás válasz | 1ms | 316 KiB | ||||
| 96 | Hibás válasz | 1ms | 500 KiB | ||||
| 97 | Hibás válasz | 1ms | 356 KiB | ||||
| 98 | Hibás válasz | 1ms | 316 KiB | ||||
| 99 | Hibás válasz | 1ms | 316 KiB | ||||
| 100 | Hibás válasz | 1ms | 316 KiB | ||||
| 101 | Hibás válasz | 1ms | 316 KiB | ||||
| 102 | Hibás válasz | 1ms | 316 KiB | ||||
| 103 | Hibás válasz | 1ms | 316 KiB | ||||
| 104 | Hibás válasz | 1ms | 316 KiB | ||||
| 105 | Hibás válasz | 1ms | 316 KiB | ||||
| 106 | Hibás válasz | 1ms | 316 KiB | ||||
| 107 | Hibás válasz | 1ms | 316 KiB | ||||
| 108 | Hibás válasz | 1ms | 316 KiB | ||||
| 109 | Hibás válasz | 1ms | 316 KiB | ||||
| 110 | Hibás válasz | 1ms | 316 KiB | ||||
| 111 | Hibás válasz | 1ms | 316 KiB | ||||
| 112 | Hibás válasz | 1ms | 316 KiB | ||||
| 113 | Időlimit túllépés | 699ms | 1452 KiB | ||||
| 114 | Időlimit túllépés | 699ms | 1500 KiB | ||||
| 115 | Időlimit túllépés | 699ms | 1456 KiB | ||||
| 116 | Időlimit túllépés | 699ms | 1452 KiB | ||||
| 117 | Időlimit túllépés | 676ms | 1452 KiB | ||||
| 118 | Időlimit túllépés | 676ms | 2352 KiB | ||||
| 119 | Időlimit túllépés | 676ms | 2356 KiB | ||||
| 120 | Időlimit túllépés | 676ms | 2356 KiB | ||||
| 121 | Időlimit túllépés | 676ms | 2336 KiB | ||||
| 122 | Időlimit túllépés | 680ms | 2356 KiB | ||||
| 123 | Időlimit túllépés | 680ms | 2372 KiB | ||||
| 124 | Időlimit túllépés | 680ms | 2356 KiB | ||||
| 125 | Időlimit túllépés | 680ms | 2364 KiB | ||||
| 126 | Időlimit túllépés | 688ms | 2356 KiB | ||||
| 127 | Időlimit túllépés | 686ms | 2372 KiB | ||||