2 条题解

  • 1
    @ 2025-4-6 21:37:38
    using namespace std;
    string a;
    long long sum=0;
    int main(){
    	cin>>a;
    	int n=a.size();
    	for(int i=0;i<n;i++){
    		if((a[i]-'0')%5==0){
    			sum+=i+1;
    		}else if(i>0&&((a[i-1]-'0')*10+a[i]-'0')%4==0){
    			if((a[i]-'0')%4==0){
    				sum++;
    			}
    			sum+=i;
    		}else if((a[i]-'0')%4==0){
    			sum++;
    		}
    	}
    	cout<<sum;
    	return 0;
    }
    
    
    • 1
      @ 2025-2-12 14:33:26

      只需用sort排序,再注意判断即可

      code

      #include <bits/stdc++.h> using namespace std; int n; struct s{ int m; int e; int c; int p; }a[100050]; bool cmp(s x,s y){ if(x.c+x.e+x.m+x.p!=y.c+y.e+y.m+y.p){ return x.c+x.e+x.m+x.p>y.c+y.e+y.m+y.p; } else if(x.m!=y.m){ return x.m>y.m; } else if(x.c!=y.c){ return x.c>y.c; } else if(x.e!=y.e){ return x.e>y.e; } } int main(){ cin>>n; for(int i=1;i<=n;i++){ cin>>a[i].m>>a[i].e>>a[i].c>>a[i].p; } sort(a+1,a+n+1,cmp); for(int i=1;i<=n;i++){ cout<<a[i].m<<" "<<a[i].e<<" "<<a[i].c<<" "<<a[i].p<<endl; } return 0; }

      • 1

      信息

      ID
      164
      时间
      1000ms
      内存
      512MiB
      难度
      8
      标签
      (无)
      递交数
      277
      已通过
      39
      上传者