Help me in solving OG problem

My issue

i made this solution:
t = int(input(“”))
lista =
for i in range(t):
N = int(input(“”))
sol = 9*(9+1)/2
ans = int(N/9) * sol
numbber = round((N/9 - int(N/9))*9)
ans += numbber * (numbber + 1)/2
print(int(ans))
it work but not on big numbber can sombody pleas help me

My code

#include <bits/stdc++.h>
using namespace std;
#include <iostream>
#include <vector>
#include <cmath>
int main() {
    int t;
    std::cin >> t; // učitavanje broja testova
    std::vector<int> lista; // vektor za rezultate

    for (int i = 0; i < t; ++i) {
        int N;
        std::cin >> N; // učitavanje svakog broja N
        int sol = 9 * (9 + 1) / 2;
        int ans = (N / 9) * sol;
        int numbber = round((N / 9.0 - int(N / 9)) * 9); // koristimo 9.0 da bi se izvršilo deljenje u realnim brojevima
        ans += numbber * (numbber + 1) / 2;
        lista.push_back(ans); // dodavanje rezultata u vektor
    }

    for (int i = 0; i < lista.size(); ++i) {
        std::cout << lista[i] << std::endl; // ispis svakog rezultata
    }

    return 0;
}

Problem Link: Origin Practice Coding Problem

@ajdinhodzic200
plzz refer my c++ code for better understanding of the logic

#include <iostream>
using namespace std;

int main() {
	// your code goes here
	int t;
	cin>>t;
	while(t--)
	{
	    long long int n;
	    cin>>n;
	    long long int val=n/9;
	    long long int r=n%9;
	    long long int ans=val*45LL  +  (r*(r+1))/2;
	    cout<<ans<<endl;
	    
	}
	return 0;
}