为什么70。。

P1093 [NOIP2007 普及组] 奖学金

蒻得不行 @ 2017-08-27 15:22:41

#include<bits/stdc++.h>
using namespace std;
int a[305],ch[305],na[305],n,x,y,z,s,i,j,c;
int main(){
    cin>>n;
    for(i=1;i<=n;i++){
        cin>>x>>y>>z;
        s=x+y+z;
        for(j=1;j<=n;j++) if(s>=a[j]) break;
        if(s==a[j]){
            if(x>ch[j]){
                for(c=n;c>j;c--) a[c]=a[c-1],ch[c]=ch[c-1],na[c]=na[c-1];
                a[j]=s;ch[j]=x;na[j]=i;
            }
            if(x<=ch[j]){
                for(c=n;c>j+1;c--) a[c]=a[c-1],ch[c]=ch[c-1],na[c]=na[c-1];
                a[j+1]=s;ch[j+1]=x;na[j+1]=i;
            }
        }
        if(s>a[j]){
            for(c=n;c>j;c--) a[c]=a[c-1],ch[c]=ch[c-1],na[c]=na[c-1];
            a[j]=s;ch[j]=x;na[j]=i;
        }
    }
    for(i=1;i<=5;i++){
        cout<<na[i]<<' '<<a[i]<<endl;
    }
    return 0;
}

by 蒻得不行 @ 2017-08-27 15:25:09

6,7,8都是WA


by __世界第一弱__ @ 2017-08-27 15:50:08

Tag : Reading Error

题目描述第四段自己看


by 蒻得不行 @ 2017-08-27 16:27:46

谢谢,现在80,然而6,8还WA


by 超威蓝猫 @ 2017-08-30 19:30:12

#include <algorithm>
#include <iostream>
using namespace std;
int n;
int a,b,c;
struct node
{
    int id,sum,y;
}map[512];
bool cmp(node x, node y)
{
    if(x.sum>y.sum)
        return true;
    if(x.sum==y.sum && x.y>y.y)
        return true;
    if(x.sum==y.sum && x.y==y.y && x.id<y.id)
        return true;
    return false;
}
int main(){
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        scanf("%d %d %d",&a,&b,&c);
        map[i].id=i;
        map[i].sum=a+b+c;
        map[i].y=a;
    }
    sort(map+1,map+n+1,cmp);
    for(int i=1;i<=5;i++)
        printf("%d %d\n",map[i].id,map[i].sum);
    return 0;
}

|