#include <iostream>
#include <algorithm> // for sort, mainly
#include <vector>
#include <map>
#include <set>
#include <cmath>
#include <array>
#include <string>
#include <cstdio>
#include <iterator>
#include <unordered_set>
#include <cstdint> // for int64_t, int32_t, etc
#include <queue>
#include <stack>
#include <deque>
#include <numeric> // gcd, lcm
#include <fstream>
#include <bitset> // for bitset
#include <iomanip>
#include <cassert> // for set with custom ordering
#include <type_traits> // for set with custom ordering
#include <utility> // for swap, forward, etc
using namespace std;
#pragma GCC optimize("O2")
// #pragma GCC optimize("O1","O2","O3","Ofast","unroll-loops")
// #pragma GCC target("sse","sse2","sse3","sse4.1","sse4.2","avx","avx2","fma")
template<typename A, typename B> ostream& operator<<(ostream &os, const pair<A, B> &p) { return os << '(' << p.first << ", " << p.second << ')'; }
template<typename T_container, typename T = typename enable_if<!is_same<T_container, string>::value, typename T_container::value_type>::type> ostream& operator<<(ostream &os, const T_container &v) { os << '{'; string sep; for (const T &x : v) os << sep << x, sep = ", "; return os << '}'; }
void dbg_out() { cout << endl; }
template<typename Head, typename... Tail> void dbg_out(Head H, Tail... T) { cout << ' ' << H; dbg_out(T...); }
#ifdef LOCAL
#define dbg(...) cout << "(" << #__VA_ARGS__ << "):", dbg_out(__VA_ARGS__)
#else
#define dbg(...)
#endif
/*
notes:
int64_t
stoi(string s) -> string to int
to_string() -> int (or else) to string
vector declaration:
vector<ll> v(n, 0)
vector<vector<ll>> v(n, vector<ll>(n, 0));
{if statement} ? {truth value} : {false value}
#ifdef LOCAL
freopen("in.txt","r",stdin);
freopen("out.txt","w",stdout);
#endif
std::lcm(ll a, ll b), std::gcd(int a, int b)
cout << fixed << setprecision(n);
set with custom ordering
set<ll, decltype(&cmp)> qu(cmp);
*/
typedef int64_t ll;
void solve() {
ll n, m;
cin >> n >> m;
vector<ll> v(n+1, 0);
vector<ll> ind(n+1, 0);
vector<ll> dp(n+1, 0);
for(ll i = 1; i <= m; i++) {
ll day, money;
cin >> day >> money;
if(money > v[day]) {
v[day] = money;
ind[day] = i;
}
}
//cerr << "\nv=" << v;
//cerr << "\nind=" << ind;
dp[1] = v[1];
vector<bool> taken(n+1, false);
for(ll i = 2; i <= n; i++) {
dp[i] = max(dp[i-2] + v[i], dp[i-1]);
}
cout << dp[n] << " ";
vector<ll> res;
ll i = n;
while(i > 0) {
if(dp[i] == dp[i-1]) {
i--;
}else{
res.push_back(ind[i]);
i -= 2;
}
}
cout << res.size() << "\n";
for(const auto & x : res) {
cout << x << " ";
}
}
int main()
{
std::ios_base::sync_with_stdio(false);
//cin.tie(nullptr);
//cout.tie(nullptr);
solve();
return 0;
}
| Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
|---|---|---|---|---|---|---|---|
| subtask1 | 0/0 | ||||||
| 1 | Elfogadva | 1ms | 316 KiB | ||||
| 2 | Elfogadva | 23ms | 564 KiB | ||||
| subtask2 | 10/10 | ||||||
| 3 | Elfogadva | 1ms | 316 KiB | ||||
| 4 | Elfogadva | 1ms | 316 KiB | ||||
| 5 | Elfogadva | 1ms | 316 KiB | ||||
| 6 | Elfogadva | 1ms | 316 KiB | ||||
| 7 | Elfogadva | 1ms | 316 KiB | ||||
| subtask3 | 10/10 | ||||||
| 8 | Elfogadva | 1ms | 316 KiB | ||||
| 9 | Elfogadva | 1ms | 316 KiB | ||||
| 10 | Elfogadva | 1ms | 316 KiB | ||||
| 11 | Elfogadva | 1ms | 316 KiB | ||||
| 12 | Elfogadva | 1ms | 316 KiB | ||||
| subtask4 | 10/10 | ||||||
| 13 | Elfogadva | 1ms | 316 KiB | ||||
| 14 | Elfogadva | 1ms | 316 KiB | ||||
| 15 | Elfogadva | 1ms | 316 KiB | ||||
| 16 | Elfogadva | 1ms | 316 KiB | ||||
| 17 | Elfogadva | 1ms | 316 KiB | ||||
| 18 | Elfogadva | 1ms | 316 KiB | ||||
| 19 | Elfogadva | 1ms | 316 KiB | ||||
| 20 | Elfogadva | 1ms | 316 KiB | ||||
| 21 | Elfogadva | 1ms | 508 KiB | ||||
| 22 | Elfogadva | 1ms | 316 KiB | ||||
| subtask5 | 10/10 | ||||||
| 23 | Elfogadva | 1ms | 316 KiB | ||||
| 24 | Elfogadva | 1ms | 316 KiB | ||||
| 25 | Elfogadva | 1ms | 316 KiB | ||||
| 26 | Elfogadva | 1ms | 316 KiB | ||||
| 27 | Elfogadva | 1ms | 316 KiB | ||||
| 28 | Elfogadva | 1ms | 316 KiB | ||||
| 29 | Elfogadva | 1ms | 756 KiB | ||||
| 30 | Elfogadva | 1ms | 756 KiB | ||||
| 31 | Elfogadva | 1ms | 568 KiB | ||||
| 32 | Elfogadva | 1ms | 564 KiB | ||||
| subtask6 | 10/10 | ||||||
| 33 | Elfogadva | 1ms | 316 KiB | ||||
| 34 | Elfogadva | 1ms | 316 KiB | ||||
| 35 | Elfogadva | 1ms | 316 KiB | ||||
| 36 | Elfogadva | 1ms | 316 KiB | ||||
| 37 | Elfogadva | 1ms | 316 KiB | ||||
| 38 | Elfogadva | 1ms | 316 KiB | ||||
| 39 | Elfogadva | 1ms | 316 KiB | ||||
| 40 | Elfogadva | 1ms | 316 KiB | ||||
| 41 | Elfogadva | 1ms | 316 KiB | ||||
| 42 | Elfogadva | 1ms | 316 KiB | ||||
| 43 | Elfogadva | 1ms | 316 KiB | ||||
| 44 | Elfogadva | 1ms | 316 KiB | ||||
| 45 | Elfogadva | 1ms | 316 KiB | ||||
| 46 | Elfogadva | 1ms | 508 KiB | ||||
| 47 | Elfogadva | 1ms | 316 KiB | ||||
| 48 | Elfogadva | 1ms | 316 KiB | ||||
| 49 | Elfogadva | 1ms | 756 KiB | ||||
| 50 | Elfogadva | 1ms | 756 KiB | ||||
| 51 | Elfogadva | 1ms | 568 KiB | ||||
| 52 | Elfogadva | 1ms | 564 KiB | ||||
| 53 | Elfogadva | 1ms | 564 KiB | ||||
| 54 | Elfogadva | 1ms | 564 KiB | ||||
| 55 | Elfogadva | 1ms | 564 KiB | ||||
| 56 | Elfogadva | 1ms | 564 KiB | ||||
| 57 | Elfogadva | 1ms | 564 KiB | ||||
| subtask7 | 10/10 | ||||||
| 58 | Elfogadva | 1ms | 316 KiB | ||||
| 59 | Elfogadva | 1ms | 316 KiB | ||||
| 60 | Elfogadva | 1ms | 316 KiB | ||||
| 61 | Elfogadva | 1ms | 316 KiB | ||||
| 62 | Elfogadva | 1ms | 316 KiB | ||||
| 63 | Elfogadva | 1ms | 316 KiB | ||||
| 64 | Elfogadva | 1ms | 316 KiB | ||||
| 65 | Elfogadva | 1ms | 316 KiB | ||||
| 66 | Elfogadva | 1ms | 316 KiB | ||||
| 67 | Elfogadva | 1ms | 316 KiB | ||||
| 68 | Elfogadva | 1ms | 316 KiB | ||||
| 69 | Elfogadva | 1ms | 316 KiB | ||||
| 70 | Elfogadva | 1ms | 316 KiB | ||||
| 71 | Elfogadva | 1ms | 508 KiB | ||||
| 72 | Elfogadva | 1ms | 316 KiB | ||||
| 73 | Elfogadva | 1ms | 316 KiB | ||||
| 74 | Elfogadva | 1ms | 756 KiB | ||||
| 75 | Elfogadva | 1ms | 756 KiB | ||||
| 76 | Elfogadva | 1ms | 568 KiB | ||||
| 77 | Elfogadva | 1ms | 564 KiB | ||||
| 78 | Elfogadva | 1ms | 564 KiB | ||||
| 79 | Elfogadva | 1ms | 564 KiB | ||||
| 80 | Elfogadva | 1ms | 564 KiB | ||||
| 81 | Elfogadva | 1ms | 564 KiB | ||||
| 82 | Elfogadva | 1ms | 564 KiB | ||||
| 83 | Elfogadva | 16ms | 2008 KiB | ||||
| 84 | Elfogadva | 14ms | 2000 KiB | ||||
| 85 | Elfogadva | 14ms | 2004 KiB | ||||
| 86 | Elfogadva | 16ms | 1976 KiB | ||||
| 87 | Elfogadva | 16ms | 1980 KiB | ||||
| subtask8 | 20/20 | ||||||
| 88 | Elfogadva | 1ms | 316 KiB | ||||
| 89 | Elfogadva | 1ms | 316 KiB | ||||
| 90 | Elfogadva | 1ms | 316 KiB | ||||
| 91 | Elfogadva | 1ms | 316 KiB | ||||
| 92 | Elfogadva | 1ms | 316 KiB | ||||
| 93 | Elfogadva | 1ms | 316 KiB | ||||
| 94 | Elfogadva | 1ms | 316 KiB | ||||
| 95 | Elfogadva | 1ms | 316 KiB | ||||
| 96 | Elfogadva | 1ms | 316 KiB | ||||
| 97 | Elfogadva | 1ms | 316 KiB | ||||
| 98 | Elfogadva | 1ms | 316 KiB | ||||
| 99 | Elfogadva | 1ms | 316 KiB | ||||
| 100 | Elfogadva | 1ms | 316 KiB | ||||
| 101 | Elfogadva | 1ms | 508 KiB | ||||
| 102 | Elfogadva | 1ms | 316 KiB | ||||
| 103 | Elfogadva | 1ms | 316 KiB | ||||
| 104 | Elfogadva | 1ms | 756 KiB | ||||
| 105 | Elfogadva | 1ms | 756 KiB | ||||
| 106 | Elfogadva | 1ms | 568 KiB | ||||
| 107 | Elfogadva | 1ms | 564 KiB | ||||
| 108 | Elfogadva | 1ms | 564 KiB | ||||
| 109 | Elfogadva | 1ms | 564 KiB | ||||
| 110 | Elfogadva | 1ms | 564 KiB | ||||
| 111 | Elfogadva | 1ms | 564 KiB | ||||
| 112 | Elfogadva | 1ms | 564 KiB | ||||
| 113 | Elfogadva | 16ms | 2008 KiB | ||||
| 114 | Elfogadva | 14ms | 2000 KiB | ||||
| 115 | Elfogadva | 14ms | 2004 KiB | ||||
| 116 | Elfogadva | 16ms | 1976 KiB | ||||
| 117 | Elfogadva | 16ms | 1980 KiB | ||||
| 118 | Elfogadva | 30ms | 3264 KiB | ||||
| 119 | Elfogadva | 30ms | 3268 KiB | ||||
| 120 | Elfogadva | 29ms | 3264 KiB | ||||
| 121 | Elfogadva | 29ms | 3252 KiB | ||||
| 122 | Elfogadva | 30ms | 3464 KiB | ||||
| 123 | Elfogadva | 29ms | 3252 KiB | ||||
| 124 | Elfogadva | 29ms | 3252 KiB | ||||
| 125 | Elfogadva | 30ms | 3252 KiB | ||||
| 126 | Elfogadva | 30ms | 3636 KiB | ||||
| 127 | Elfogadva | 30ms | 3328 KiB | ||||