Significado de las preguntas:
N una situación mucho tiempo para arsenal completo, dividido en k partes, cada uno toma el valor máximo de la suma, y la salida del valor máximo y el número de puntos igual al método de máxima.
ideas:
K toma un valor grande antes de que el índice de almacenamiento, entre cada dos valores de k grandes son k I + 1. - k I . + 1 proceso cabeza de serie, se puede multiplicar.
#include <bits / STDC ++ h.> usando espacio de nombres std; typedef largo largo ll; const ll mod = 998244353 ; int main () { int n, k; cin >> n >> k; int p [n]; para ( int + i: p) cin >> i; int pos [n + n] = { 0 }; para ( int i = 0 ; i <n; i ++ ) pos [p [i]] = i; vector < int > v; ll resumir =0 ; para ( int i = k, t = n; i> = 1 ; i-- ) { suma + = t; v.push_back (pos [t - ]); } Sort (v.begin (), V.END ()); ll ans = 1 ; para ( int i = 0 ; i < int (v.size ()) - 1 ; i ++ ) ans = ans * (v [i + 1 ] -v [i])% mod; cout << suma << ' ' << ans << " \ n " ; regreso 0 ; }