1 条题解

  • 0
    @ 2022-12-6 20:38:09
    #include<bits/stdc++.h>
    using namespace std;
    
    int main(){
    	long long n,m,s = 0,i,j,x = 0,t;
    	cin>>n>>m;
    	for(i = 1;i <= n;i++){
    		x += i;
    	}
    	x = x * 2;//一个完整的1 2 3..n n n-1.. 2 1的和
    	s = m / (2 * n) * x;//先求有多少完整的循环
    	t = m % (2 * n);//除了完整循环还剩余的数
    	
    	if(t <= n){
    		for(i = 1;i <= t;i++){
    			s = s + i;
    		}
    	} else{
    		s = s + x / 2;//先加一半的循环的和
    		for(i = n;i > n - (t - n);i--) {
    			s = s + i;
    		}
    	}
    	cout<<s<<endl;
    }
    
    • 1

    信息

    ID
    533
    时间
    1000ms
    内存
    128MiB
    难度
    8
    标签
    递交数
    14
    已通过
    7
    上传者