4 条题解

  • 2
    @ 2023-11-2 18:10:07
    #include <bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n,m,j,x;
        cin>>n>>m>>j;
        int l=1,r=m,sum=0;
        for(int i=0;i<j;i++)
        {
            cin>>x;
            if(x<l)
            {
                sum += l-x;
                r -= l-x;
                l = x;
            }
            else if (x>r)
            {
                sum += x-r;
                l += x-r;
                r = x;
            }
        }
        cout<<sum;
        return 0;
    }
    
    • 1
      @ 2023-10-27 22:43:47
      #include <iostream>
      int main(){
          int n,m,j,a; std::cin>>n>>m>>j;
          int l=1,r=m,sum=0;
          for(int i=0;i<j;i++){
              std::cin>>a;
              if(a<l){
                  sum+=l-a;
                  r-=l-a,l=a;}
              else if(a>r){
                  sum+=a-r;
                  l+=a-r,r=a;}}
          std::cout<<sum; return 0;}
      
      • 0
        @ 2023-12-9 20:38:52
        #include<iostream>
        int main()
        {
            int n,m,j;
            std::cin>>n>>m;
            std::cin>>j;
            int l=1,r=m,sum=0;
            for(int i=1;i<=j;i+=1)
            {
                int x;
                std::cin>>x;
                if(x<l)
                {
                    sum+=l-x;
                    r=r-l+x;
                    l=x;
                }
                else if(x>r)
                {
                    sum+=x-r;
                    l=l+x-r;
                    r=x;
                }
            }
            std::cout<<sum;
        }
        
        • 0
          @ 2023-12-3 9:09:23

          模拟算法:

          #include<bits/stdc++.h>
          using namespace std;
          long long ans=0;
          
          int main(){
          	int n,m,j,temp;
          	cin>>n>>m>>j;
          	int left=1,right=m;
          	for(int i=1;i<=j;i++){
          		cin>>temp;
          		if(temp<left){
          			ans=ans+left-temp;
          			left=temp;
          			right=left+m-1;
          		}
          		if(temp>right){
          			ans=ans+temp-right;
          			right=temp;
          			left=right-(m-1);
          		}
          	}
          	cout<<ans;
          	return 0;
          }
          
          • 1

          信息

          ID
          529
          时间
          1000ms
          内存
          256MiB
          难度
          5
          标签
          递交数
          1035
          已通过
          398
          上传者