Целочисленное переполнение в приведенной ниже программе
Я решал проблему на spoj,SPOJ.com - проблема в минуту!!![^]
Проблема проста,и я получаю правильный вывод для небольших чисел, но, похоже, spoj не принимает из-за переполнения целых чисел ,
Тогда какой целочисленный тип я должен использовать?
Или есть какая-то другая проблема, которую они не принимают ?Я также не знаю тестовых случаев, в которых он может потерпеть неудачу
Один из принятых решений других парней, которые используют ту же логику, и его решение принимается SPOJ кресла – карты | учебники хор [^]
Тестовый пример:
2
3
7
выход:
15
77
Что я уже пробовал:
#include<bits/stdc++.h> using namespace std; int main(){ int t; cin>>t; while(t--){ int n; cin>>n; unsigned long long int sum1=0; unsigned long long int sum2=0; sum1=((n*(n-1))/2)%1000007; // cout<<"sum1 is"<<sum1; sum2=(n*n+n)%1000007; cout<<(sum1+sum2)%1000007<<endl; } }