| 22534 | 2026-01-15 10:46:29 | bombinigusini | Munkák | cpp17 | Time limit exceeded 20/80 | 685ms | 1812 KiB |
#include <iostream>
#include <vector>
#include <algorithm>
#include <fstream>
#pragma optimize(o3)
using namespace std;
struct munka{int index; int penz; int sorszam;};
bool id(munka a, munka b)
{
if(a.index==b.index) return a.penz<b.penz;
else return a.index<b.index;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n, m;
cin>>n>>m;
vector <munka> t(m);
for(int i=0; i<m; i++)
{
cin>>t[i].index;
cin>>t[i].penz;
t[i].sorszam=i;
}
sort(t.begin(), t.end(), id);
for(int i=0; i<m; i++)
{
if(t[i+1].index==t[i].index)
{
t.erase(t.begin()+i);
i--;
m--;
}
}
for (int i=0; i<t.size()-1; i++)
{
if(t[i+1].index-t[i].index>1)
{
t.insert(t.begin()+i+1, {t[i].index+1, 0});
}
}
vector <int> tempbest(t.size());
vector <bool> valaszt(t.size(), false);
vector <int> elozo(t.size());
tempbest[0]=t[0].penz;
elozo[0]=-1;
valaszt[0]=true;
tempbest[1]=max(tempbest[0], t[1].penz);
if(tempbest[1]!=tempbest[0])
{
valaszt[1]=true;
elozo[1]=-1;
}
else elozo[1]=0;
for(int i=2; i<=t.size(); i++)
{
if(tempbest[i-1]<t[i].penz+tempbest[i-2])
{
valaszt[i]=true;
elozo[i]=i-2;
}
tempbest[i]=max(tempbest[i-1], t[i].penz+tempbest[i-2]);
}
vector <int> napok;
int curr=t.size();
while (curr>-1)
{
if(valaszt[curr])
{
napok.push_back(t[curr].sorszam+1);
curr=elozo[curr];
}
else curr--;
}
reverse(napok.begin(), napok.end());
cout<<tempbest[tempbest.size()]<<" "<<napok.size()<<endl;
for(int s:napok)
{
cout<<s<<" ";
}
return 0;
}
| Subtask | Sum | Test | Verdict | Time | Memory | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Accepted | 1ms | 316 KiB | ||||
| 2 | Time limit exceeded | 680ms | 1588 KiB | ||||
| subtask2 | 10/10 | ||||||
| 3 | Accepted | 1ms | 500 KiB | ||||
| 4 | Accepted | 1ms | 316 KiB | ||||
| 5 | Accepted | 1ms | 500 KiB | ||||
| 6 | Accepted | 1ms | 316 KiB | ||||
| 7 | Accepted | 1ms | 316 KiB | ||||
| subtask3 | 0/10 | ||||||
| 8 | Wrong answer | 1ms | 316 KiB | ||||
| 9 | Wrong answer | 1ms | 316 KiB | ||||
| 10 | Wrong answer | 1ms | 316 KiB | ||||
| 11 | Accepted | 1ms | 316 KiB | ||||
| 12 | Accepted | 1ms | 316 KiB | ||||
| subtask4 | 10/10 | ||||||
| 13 | Accepted | 1ms | 500 KiB | ||||
| 14 | Accepted | 1ms | 316 KiB | ||||
| 15 | Accepted | 1ms | 500 KiB | ||||
| 16 | Accepted | 1ms | 316 KiB | ||||
| 17 | Accepted | 1ms | 316 KiB | ||||
| 18 | Accepted | 1ms | 316 KiB | ||||
| 19 | Accepted | 1ms | 316 KiB | ||||
| 20 | Accepted | 1ms | 316 KiB | ||||
| 21 | Accepted | 1ms | 512 KiB | ||||
| 22 | Accepted | 1ms | 316 KiB | ||||
| subtask5 | 0/10 | ||||||
| 23 | Wrong answer | 1ms | 316 KiB | ||||
| 24 | Wrong answer | 1ms | 316 KiB | ||||
| 25 | Wrong answer | 1ms | 316 KiB | ||||
| 26 | Accepted | 1ms | 316 KiB | ||||
| 27 | Accepted | 1ms | 316 KiB | ||||
| 28 | Accepted | 1ms | 316 KiB | ||||
| 29 | Accepted | 1ms | 316 KiB | ||||
| 30 | Accepted | 1ms | 564 KiB | ||||
| 31 | Accepted | 1ms | 564 KiB | ||||
| 32 | Accepted | 1ms | 564 KiB | ||||
| subtask6 | 0/10 | ||||||
| 33 | Accepted | 1ms | 500 KiB | ||||
| 34 | Accepted | 1ms | 316 KiB | ||||
| 35 | Accepted | 1ms | 500 KiB | ||||
| 36 | Accepted | 1ms | 316 KiB | ||||
| 37 | Accepted | 1ms | 316 KiB | ||||
| 38 | Wrong answer | 1ms | 316 KiB | ||||
| 39 | Wrong answer | 1ms | 316 KiB | ||||
| 40 | Wrong answer | 1ms | 316 KiB | ||||
| 41 | Accepted | 1ms | 316 KiB | ||||
| 42 | Accepted | 1ms | 316 KiB | ||||
| 43 | Accepted | 1ms | 316 KiB | ||||
| 44 | Accepted | 1ms | 316 KiB | ||||
| 45 | Accepted | 1ms | 316 KiB | ||||
| 46 | Accepted | 1ms | 512 KiB | ||||
| 47 | Accepted | 1ms | 316 KiB | ||||
| 48 | Accepted | 1ms | 316 KiB | ||||
| 49 | Accepted | 1ms | 316 KiB | ||||
| 50 | Accepted | 1ms | 564 KiB | ||||
| 51 | Accepted | 1ms | 564 KiB | ||||
| 52 | Accepted | 1ms | 564 KiB | ||||
| 53 | Wrong answer | 2ms | 748 KiB | ||||
| 54 | Accepted | 2ms | 752 KiB | ||||
| 55 | Accepted | 2ms | 748 KiB | ||||
| 56 | Wrong answer | 2ms | 564 KiB | ||||
| 57 | Accepted | 1ms | 564 KiB | ||||
| subtask7 | 0/10 | ||||||
| 58 | Accepted | 1ms | 500 KiB | ||||
| 59 | Accepted | 1ms | 316 KiB | ||||
| 60 | Accepted | 1ms | 500 KiB | ||||
| 61 | Accepted | 1ms | 316 KiB | ||||
| 62 | Accepted | 1ms | 316 KiB | ||||
| 63 | Wrong answer | 1ms | 316 KiB | ||||
| 64 | Wrong answer | 1ms | 316 KiB | ||||
| 65 | Wrong answer | 1ms | 316 KiB | ||||
| 66 | Accepted | 1ms | 316 KiB | ||||
| 67 | Accepted | 1ms | 316 KiB | ||||
| 68 | Accepted | 1ms | 316 KiB | ||||
| 69 | Accepted | 1ms | 316 KiB | ||||
| 70 | Accepted | 1ms | 316 KiB | ||||
| 71 | Accepted | 1ms | 512 KiB | ||||
| 72 | Accepted | 1ms | 316 KiB | ||||
| 73 | Accepted | 1ms | 316 KiB | ||||
| 74 | Accepted | 1ms | 316 KiB | ||||
| 75 | Accepted | 1ms | 564 KiB | ||||
| 76 | Accepted | 1ms | 564 KiB | ||||
| 77 | Accepted | 1ms | 564 KiB | ||||
| 78 | Wrong answer | 2ms | 748 KiB | ||||
| 79 | Accepted | 2ms | 752 KiB | ||||
| 80 | Accepted | 2ms | 748 KiB | ||||
| 81 | Wrong answer | 2ms | 564 KiB | ||||
| 82 | Accepted | 1ms | 564 KiB | ||||
| 83 | Wrong answer | 259ms | 1588 KiB | ||||
| 84 | Accepted | 259ms | 1540 KiB | ||||
| 85 | Wrong answer | 257ms | 1536 KiB | ||||
| 86 | Accepted | 257ms | 1528 KiB | ||||
| 87 | Accepted | 259ms | 1548 KiB | ||||
| subtask8 | 0/20 | ||||||
| 88 | Accepted | 1ms | 500 KiB | ||||
| 89 | Accepted | 1ms | 316 KiB | ||||
| 90 | Accepted | 1ms | 500 KiB | ||||
| 91 | Accepted | 1ms | 316 KiB | ||||
| 92 | Accepted | 1ms | 316 KiB | ||||
| 93 | Wrong answer | 1ms | 316 KiB | ||||
| 94 | Wrong answer | 1ms | 316 KiB | ||||
| 95 | Wrong answer | 1ms | 316 KiB | ||||
| 96 | Accepted | 1ms | 316 KiB | ||||
| 97 | Accepted | 1ms | 316 KiB | ||||
| 98 | Accepted | 1ms | 316 KiB | ||||
| 99 | Accepted | 1ms | 316 KiB | ||||
| 100 | Accepted | 1ms | 316 KiB | ||||
| 101 | Accepted | 1ms | 512 KiB | ||||
| 102 | Accepted | 1ms | 316 KiB | ||||
| 103 | Accepted | 1ms | 316 KiB | ||||
| 104 | Accepted | 1ms | 316 KiB | ||||
| 105 | Accepted | 1ms | 564 KiB | ||||
| 106 | Accepted | 1ms | 564 KiB | ||||
| 107 | Accepted | 1ms | 564 KiB | ||||
| 108 | Wrong answer | 2ms | 748 KiB | ||||
| 109 | Accepted | 2ms | 752 KiB | ||||
| 110 | Accepted | 2ms | 748 KiB | ||||
| 111 | Wrong answer | 2ms | 564 KiB | ||||
| 112 | Accepted | 1ms | 564 KiB | ||||
| 113 | Wrong answer | 259ms | 1588 KiB | ||||
| 114 | Accepted | 259ms | 1540 KiB | ||||
| 115 | Wrong answer | 257ms | 1536 KiB | ||||
| 116 | Accepted | 257ms | 1528 KiB | ||||
| 117 | Accepted | 259ms | 1548 KiB | ||||
| 118 | Time limit exceeded | 685ms | 1588 KiB | ||||
| 119 | Time limit exceeded | 685ms | 1588 KiB | ||||
| 120 | Time limit exceeded | 685ms | 1396 KiB | ||||
| 121 | Time limit exceeded | 685ms | 1588 KiB | ||||
| 122 | Time limit exceeded | 675ms | 1780 KiB | ||||
| 123 | Time limit exceeded | 676ms | 1812 KiB | ||||
| 124 | Time limit exceeded | 676ms | 1588 KiB | ||||
| 125 | Time limit exceeded | 676ms | 1588 KiB | ||||
| 126 | Time limit exceeded | 679ms | 1588 KiB | ||||
| 127 | Time limit exceeded | 677ms | 1588 KiB | ||||