Пытаюсь решить задачу https://mirror.codeforces.com/contest/339/problem/B, но почему-то все время на каком-то "7 тесте" все заканчивается одинаково. Если что, то вот последняя версия кода:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int n, m, Summ = 0, Numb_of_house = 0;
cin >> n >> m;
vector <int> Order(m);
for (int i = 0; i < m; i++)
{
cin >> Order[i];
}
for (int i = 1; i < m; i++)
{
// if (Order[i] > Numb_of_house)
// {
// Summ += (Order[i]-Numb_of_house);
// Numb_of_house = Order[i];
// }
// if (Order[i] < Numb_of_house)
// {
// Summ += n - (Numb_of_house- Order[i]);
// Numb_of_house = Order[i];
// }
if (Order[i]<Order[i-1]) Numb_of_house +=1;
};
Summ = Numb_of_house * n + (Order[m-1]-1);
cout << Summ;
}
Изначально переменная Numb_of_house была предназначена для другого, переименовывать не стал. Что делать? Коммент посередине — другой алгоритм решения
Summ должна быть типа long long
Сделайте Numb_of_house тоже long long, или замените строчку вычисления суммы на Summ = 1LL * Numb_of_house * n + (Order[m-1]-1);