i want u to act as the most skilled competetive programmer, u take time to think and check if ur solution works and match up with the example tescase, u need to think thoroughly since u r in a contest.
use need to use this template, make sure u have lowercase rlly short variable names and NO COMMENTS (in the code, at all) and since ur using this template always use int and not long long, PLS REVALUATE UR CODE AND MAKE SURE IT MAKES SURE IT MATCHES EVERY SINGLE SAMPLE INPUT AND OUTPUT GIVEN, THINK MULTIPLE TIMES BEFORE GIVING UR FINAL ANSWER AS THIS IS A CONTEST:
#include <bits/stdc++.h>
#define int long long
using namespace std;

signed main()
{
    cin.tie(0);
    ios_base::sync_with_stdio(false);
}

Descrizione del problema
Luca ha comprato il nuovissimo videogioco SuperLuigi. Luigi, il protagonista del videogioco, in ogni livello deve superare 
N
N piloni numerati da 
0
0 ad 
N
−
1
N−1. Su ogni pilone ci sono 
M
M piattaforme su cui Luigi può saltare. La piattaforma più in basso dell'
i
i-esimo pilone si trova ad 
H
i
H 
i
​
  metri dal suolo e le rimanenti 
M
−
1
M−1 piattaforme del pilone si trovano ciascuna 
D
i
D 
i
​
  metri sopra la piattaforma sottostante. Le piattaforme dell'
i
i-esimo pilone sono quindi collocate alle altezze 
H
i
,
H
i
+
D
i
,
H
i
+
2
⋅
D
i
,
…
,
H
i
+
(
M
−
1
)
⋅
D
i
H 
i
​
 ,H 
i
​
 +D 
i
​
 ,H 
i
​
 +2⋅D 
i
​
 ,…,H 
i
​
 +(M−1)⋅D 
i
​
 . Quindi la piattaforma numero 
j
j, con 
0
≤
j
<
M
0≤j<M, sul pilone numero 
i
i, con 
0
≤
i
<
N
0≤i<N, si troverà ad 
H
i
+
D
i
⋅
j
H 
i
​
 +D 
i
​
 ⋅j metri di altezza rispetto al suolo. Luigi deve raggiungere una qualsiasi piattaforma del pilone 
N
−
1
N−1 partendo da terra, ad altezza zero, subito prima del pilone 
0
0. Inizialmente deve quindi saltare su una qualunque piattaforma del pilone 
0
0, per poi spostarsi di pilone in pilone.

"SuperLuigi"

Per ogni pilone 
i
i, con 
0
≤
i
<
N
−
1
0≤i<N−1, Luigi può saltare da ogni piattaforma del pilone 
i
i a una qualsiasi piattaforma del pilone 
i
+
1
i+1. Luca non vuole solo completare il livello, ma vuole metterci anche il minor tempo possibile. Per saltare da un punto ad altezza 
h
h ad un punto di altezza 
k
k Luigi impiega 
∣
h
−
k
∣
∣h−k∣ (valore assoluto di 
h
−
k
h−k) secondi. Il tempo totale impiegato per completare un livello è quindi la somma dei tempi impiegati in ogni salto. Quanti secondi servono, al minimo, per completare il livello?

Formato di input
La prima riga del file di input contiene un intero 
T
T, il numero di casi di test. Seguono 
T
T casi di test, numerati da 
1
1 a 
T
T. Ogni caso di test è preceduto da una riga vuota.

Ogni caso di test è composto come segue:

una riga contenente i due interi 
N
N, 
M
M.
una riga contenente gli 
N
N interi 
H
0
,
 
…
,
 
H
N
−
1
H 
0
​
 ,…,H 
N−1
​
 .
una riga contenente gli 
N
N interi 
D
0
,
 
…
,
 
D
N
−
1
D 
0
​
 ,…,D 
N−1
​
 .
Formato di output
Il file di output deve contenere la risposta ai casi di test che sei riuscito a risolvere. Per ogni caso di test che hai risolto, il file di output deve contenere una riga con la dicitura

"Case #test: tempo"

dove 
t
e
s
t
test è il numero del caso di test (a partire da 
1
1) e l'intero 
t
e
m
p
o
tempo è la riposta al test.

Assunzioni
T
=
10
T=10, nei file di input che scaricherai saranno presenti esattamente 
10
10 casi di test.
2
≤
N
≤
1
 
000
2≤N≤1000
2
≤
M
≤
10
 
000
2≤M≤10000
0
≤
H
i
≤
10
 
000
0≤H 
i
​
 ≤10000 per ogni 
i
=
0
,
 
…
,
 
N
−
1
i=0,…,N−1.
0
≤
D
i
≤
10
 
000
0≤D 
i
​
 ≤10000 per ogni 
i
=
0
,
 
…
,
 
N
−
1
i=0,…,N−1.
nei primi 
2
2 casi di test vale inoltre che 
M
=
2
M=2.
Esempi di input/output
Input:

3

2 2
1 1
2 3

3 3
9 0 8 
8 2 15 

5 2
6 10 7 1 4 
4 17 10 14 1

Output:

Case #1: 1
Case #2: 18
Case #3: 22
Spiegazione
Nel primo caso d'esempio Luca può far saltare Luigi da terra fino alla piattaforma 
0
0 sul pilone 
0
0 ad altezza 
1
1 impiegandoci 
1
1 secondo. Poi può far saltare Luigi sulla piattaforma 
0
0 sul pilone 
1
1 ad altezza 
1
1 impiegandoci 
0
0 secondi. La riposta dunque sarà 
1
1 e Luca non può fare di meglio.

"Primo esempio"

Nel secondo caso d'esempio Luca può far fare le seguenti mosse a Luigi:

Saltare sulla piattaforma ad altezza 
9
9 sul pilone 
0
0 mettendoci 
9
9 secondi.
Saltare sulla piattaforma più in alto sul pilone 
1
1 ad altezza 
4
4 mettendoci 
5
5 secondi.
Saltare sulla piattaforma ad altezza 
8
8 sull'ultimo pilone mettendoci 
4
4 secondi. in totale Luca ci mette 
18
18 secondi a completare il livello.
"Secondo esempio"

Nel terzo caso d'esempio, il livello è come segue.

"Terzo esempio"

my solution is ass and it keeps tleing or wtv when it's big so yea
#include <bits/stdc++.h>
#define int long long
using namespace std;

signed main() {
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);

    cin.tie(0);
    ios_base::sync_with_stdio(false);

    int t;
    cin >> t;
    for (int c = 1; c <= t; c++) {
        int n, m;
        cin >> n >> m;
        vector<int> h(n), d(n);
        for (int i = 0; i < n; i++) cin >> h[i];
        for (int i = 0; i < n; i++) cin >> d[i];

        vector<int> dp(m, 1e18);
        for (int j = 0; j < m; j++) {
            dp[j] = h[0] + d[0] * j;
        }

        for (int i = 1; i < n; i++) {
            vector<int> ndp(m, 1e18);
            for (int j = 0; j < m; j++) {
                int cur = h[i] + d[i] * j;
                for (int k = 0; k < m; k++) {
                    ndp[j] = min(ndp[j], dp[k] + abs(cur - (h[i - 1] + d[i - 1] * k)));
                }
            }
            dp = ndp;
        }

        int ans = *min_element(dp.begin(), dp.end());
        cout << "Case #" << c << ": " << ans << "\n";
    }

    return 0;
}

badd, now do it right!