您的位置:首页 > 其它

ural 1645. Ski Race

2011-05-22 22:03 513 查看
//别鄙视我贴水题呀,,我是在比赛的时候让它坑爹咯,,老琢磨30s Delay了

//其实只要注意到,考虑每一个位置的时候,所有它左面的比它大的一定在最终成绩榜中比它靠前,其他的就是可能的了,它右面同理

/*
ID:1192432
PROG: castle
LANG: C++
*/
#include <iostream>
#include <queue>
#include <stack>
#include <string>
#include <map>
#include <vector>
#include <memory.h>
#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;
const int MAX=2005,INF=1<<30;
struct State{
    int order,num;
    int best,worst;
};
int n;
State a[MAX];
bool cmp(const State &i,const State &j){
    return i.num<j.num;
}

int main()
{
#ifndef ONLINE_JUDGE
    freopen("i.txt", "r", stdin);
#endif
    a[0].num=-1;
    while(cin>>n){
        for(int i=1;i<=n;i++){
            cin>>a[i].num;
            a[i].order=i;
            a[i].best=i;
            a[i].worst=i;
        }
        for(int i=1;i<=n;i++){
            for(int j=1;j<i;j++){
                if(a[i].num>a[j].num)
                    --a[i].best;
            }
            for(int j=i;j<=n;j++){
                if(a[i].num<a[j].num)
                    ++a[i].worst;
            }
        }
        sort(a,a+n+1,cmp);
        for(int i=1;i<=n;i++){
            cout<<a[i].best<<" "<<a[i].worst<<endl;
        }
    }
    return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: