zoukankan      html  css  js  c++  java
  • CodeForces339BXenia and Ringroad (循环队列,水题)

    Xenia lives in a city that has n houses built along the main ringroad. The ringroad houses are numbered 1 through n in the clockwise order. The ringroad traffic is one way and also is clockwise.

    Xenia has recently moved into the ringroad house number 1. As a result, she's got m things to do. In order to complete the i-th task, she needs to be in the house number a i and complete all tasks with numbers less than i. Initially, Xenia is in the house number 1, find the minimum time she needs to complete all her tasks if moving from a house to a neighboring one along the ringroad takes one unit of time.

    Input

    The first line contains two integers n and m (2 ≤ n ≤ 105, 1 ≤ m ≤ 105). The second line contains m integers a 1, a 2, ..., a m (1 ≤ a i ≤ n). Note that Xenia can have multiple consecutive tasks in one house.

    Output

    Print a single integer — the time Xenia needs to complete all tasks.

    Please, do not use the %lld specifier to read or write 64-bit integers in С++. It is preferred to use the cin, cout streams or the %I64d specifier.

    Examples

    input

    4 3
    3 2 3
    

    output

    6
    

    input

    4 3
    2 3 3
    

    output

    2
    

    Note

    In the first test example the sequence of Xenia's moves along the ringroad looks as follows: 1 → 2 → 3 → 4 → 1 → 2 → 3. This is optimal sequence. So, she needs 6 time units.

    思路:

    路径移动类似循环队列移动,注意点:使用long long 保证不溢出

    #include<bits/stdc++.h>
    using namespace std;
    long long m, n, x = 1, s, y;
    int main() {
    	//freopen("in.txt","r",stdin);
    	ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
    	for (cin >> n >> m; m--; s += (n + y - x) % n, x = y)//x起点位置,y目标位置
    		cin >> y;
    	cout << s;
    }
    
  • 相关阅读:
    Oracle中TO_DATE格式
    实现带查询功能的Combox控件
    Combox和DropDownList控件的区别
    C# 获取字符串中的数字
    C# try catch finally 执行
    树形DP codevs 1814 最长链
    codevs 2822 爱在心中
    匈牙利算法 cojs.tk 搭配飞行员
    匈牙利算法 codevs 2776 寻找代表元
    2016-6-19 动态规划,贪心算法练习
  • 原文地址:https://www.cnblogs.com/RioTian/p/13360617.html
Copyright © 2011-2022 走看看