5 solutions

  • 2
    @ 2026-2-3 11:31:57
    #include<bits/stdc++.h>
    using namespace std;
    const int N=310;
    struct Stu{
    	int t,y,s,u,i;
    }; 
    Stu s[N];
    bool cmp(Stu a,Stu b)
    {
    	if(a.t>b.t) return 1;
    	if(a.t==b.t&&a.y>b.y) return 1;
    	if(a.t==b.t&&a.y==b.y&&a.i<b.i) return 1;
    	return 0;
    }
    int main()
    {
    	int n;cin>>n;
    	for(int i=1;i<=n;i++)
    	{
    		cin>>s[i].y>>s[i].s>>s[i].u;
    		s[i].t=s[i].y+s[i].y+s[i].s;
    	} 
    	sort(s+1,s+n+1,cmp);
    	for(int i=1;i<=5;i++)
    	{
    		cout<<s[i].i<<" "<<s[i].t<<endl;
    	}
    	return 0;
    }
    
    
    • 1
      @ 2024-8-10 11:58:51
      #include<bits/stdc++.h>
      using namespace std;
      const int N=310;
      struct Stu{
          int total,yuwen,shuxue,yingyu,id;
      };
      Stu s[N];
      bool cmp(Stu a,Stu b)
      {
          if(a.total>b.total) return 1;
          if(a.total==b.total&&a.yuwen>b.yuwen) return 1;
          if(a.total==b.total&&a.yuwen==b.yuwen&&a.id<b.id) return 1;
          return 0;
      }
      int main()
      {
          int n;
          cin>>n;
          for(int i=1;i<=n;i++)
          {
              cin>>s[i].yuwen>>s[i].shuxue>>s[i].yingyu;
              s[i].total=s[i].yingyu+s[i].shuxue+s[i].yuwen;
              s[i].id=i;
          }
          sort(s+1,s+1+n,cmp);
          for(int i=1;i<=5;i++)
          {
              cout<<s[i].id<<" "<<s[i].total<<endl;
          }
          return 0;
      }
      
      //包对!!!
      
      • 0
        @ 2026-8-17 9:29:23
        #include<bits/stdc++.h>
        using namespace std;
        const int N=310;
        struct Stu{
        int total,yuwen,shuxue,yingyu,id;
        };
        Stu s[N];
        bool cmp(Stu a,Stu b)
        {
        	if(a.total>b.total) return 1;
        	if(a.total==b.total&&a.yuwen>b.yuwen) return 1;
        	if(a.total==b.total&&a.yuwen==b.yuwen&&a.id<b.id) return 1;
        	return 0; 
        }
        int main()
        {
        	int n;
        	cin>>n;
        	for(int i=1;i<=n;i++)
        	{
        		cin>>s[i].yuwen>>s[i].shuxue>>s[i].yingyu;
        		s[i].total=s[i].yingyu+s[i].yuwen+s[i].shuxue;
        		s[i].id=i;
        	}
        	sort(s+1,s+1+n,cmp);
        	for(int i=1;i<=5;i++)
        	{
        		cout<<s[i].id<<" "<<s[i].total<<endl;
        	} 
        	return 0;
        }
        • 0
          @ 2026-2-20 19:34:47
          #include<bits/stdc++.h>
          using namespace std;
          const int N=310;
          struct Stu{
          	int total,yuwen,shuxue,yingyu,id;
          	/*
          	bool operator<(const Stu& w)const
          	{
          		if(total!=w.total) return total>w.total;
          		if(yuwen!=w.yuwen) return yuwen>w.yuwen;
          		return id<w.id;
          	}
          	*/
          };
          Stu s[N];
          bool cmp(Stu a,Stu b)
          {
          	if(a.total!=b.total) return a.total>b.total;
          	if(a.yuwen!=b.yuwen) return a.yuwen>b.yuwen;
          	return a.id<b.id;
          }
          int main()
          {
          	int n;
          	cin>>n;
          	for(int i=1;i<=n;i++)
          	{
          		cin>>s[i].yuwen>>s[i].shuxue>>s[i].yingyu;
          		s[i].total=s[i].yuwen+s[i].shuxue+s[i].yingyu;
          		s[i].id=i;
          	}
          	sort(s+1,s+n+1,[](Stu a,Stu b){
          		if(a.total!=b.total) return a.total>b.total;
          		if(a.yuwen!=b.yuwen) return a.yuwen>b.yuwen;
          		return a.id<b.id;
          	});
          	for(int i=1;i<=5;i++)
          	{
          		cout<<s[i].id<<" "<<s[i].total<<endl;
          	}
          	/*
          	 sort(a+1,a+n+1); a[1]到a[n]从小到大排序 
          	 sort(a,a+n);	  a[0]到a[n-1]从小到大排序 
          	 sort(a+1,a+n+1,greater<int>()) //从大到小排序 
          	 reverse(a+1,a+n+1);a[1]到a[n]翻转 
          	 bool cmp(int a,int b)
          	 {
          	 	//枚举合法规则 return 1;
          		return 0; 
          	 }
          	sort(a+1,a+6,[](int x,int y){
          		if(x%2!=0&&y%2==0) return 1;
          		if(x%2!=0&&x%2!=0&&x>y) return 1;
          		return 0;
          	});
          	*/
          	return 0;
          }
          
          
          • -1
            @ 2024-12-29 15:59:22
            #include<bits/stdc++.h>
            using namespace std;
            const int N=310;
            struct Stu{
            	int total,yuwen,shuxue,yingyu,id;
            };
            Stu s[N];
            bool cmp(Stu a,Stu b)
            {
            	if(a.total>b.total) return 1;
            	if(a.total==b.total&&a.yuwen>b.yuwen) return 1;
            	if(a.total==b.total&&a.yuwen==b.yuwen&&a.id<b.id) return 1;
            	return 0;
            }
            int main()
            {
            	int n;
            	cin>>n;
            	for(int i=1;i<=n;i++)
            	{
            		cin>>s[i].yuwen>>s[i].shuxue>>s[i].yingyu;
            		s[i].total=s[i].yingyu+s[i].yuwen+s[i].shuxue;
            		s[i].id=i;
            	}
            	sort(s+1,s+1+n,cmp);
            	for(int i=1;i<=5;i++)
            	{
            		cout<<s[i].id<<" "<<s[i].total<<endl;
            	}
            	return 0;
            }
            • 1

            Information

            ID
            945
            Time
            1000ms
            Memory
            256MiB
            Difficulty
            3
            Tags
            (None)
            # Submissions
            162
            Accepted
            38
            Uploaded By