2 条题解

  • 0
    @ 2026-5-14 17:07:39

    这是最基本的写法。

    #include<bits/stdc++.h>
    using namespace std;
    
    int n,s,a[100005];
    int main(){
    	cin>>n>>s;
    
      // 赋值
    	a[0]=s;
    	for(int i=1;i<n;i++) a[i]=(379*a[i-1]+131)%997;
    	for(int i=1;i<n;i++) a[i]=max(a[i],a[i-1]);
    
      // 判断怎样最大
    	int ans=0;
    	for(int i=0;i<n;i++) ans+=a[i];
      
    	cout<<ans;
    	return 0;
    }
    
    
    • 0
      @ 2023-3-14 16:12:49
      #include<......>
      #define int long long
      #define fo(i,a,b) for(int i=a;i<=b;i++)
      using namespace std;
      int n,ans;
      int a[100001],f[100001];
      main(){
      	cin>>n;
      	cin>>a[1];
      	fo(i,2,n){
      		a[i]=(379*a[i-1]+131)%997;
      	}
      	fo(i,1,n){
      		f[i]=max(a[i],f[i-1]);
      		ans+=f[i];
      	}
      	cout<<ans;
      	return 0;
      }
      
      • 1

      信息

      ID
      364
      时间
      1000ms
      内存
      128MiB
      难度
      2
      标签
      递交数
      86
      已通过
      72
      上传者