#5959: 看不懂題目


jimmyee (LEVEL_UP)

學校 : 國立臺灣大學
編號 : 20170
來源 : [140.112.42.92]
最後登入時間 :
2016-03-18 15:33:33
d652. 貪婪之糊 -- jack1 | From: [140.112.242.128] | 發表日期 : 2011-10-23 16:12

我的作法是

#include<iostream>
#define swap(x,y){int t; t = x; x = y; y = t;}
void sort(int a[],int l,int r,int n)
{
    int i,j;
    if(l<r)
    {
        i=l;
        j=r+1;
        while(1)
        {
            while(i+1<n&&a[++i]<a[l]);
            while(j>0&&a[--j]>a[l]);
            if(i>=j)
                break;
            swap(a[i],a[j]);
        }
        swap(a[l],a[j]);
        sort(a,l,j-1,n);
        sort(a,j+1,r,n);
    }
}
using namespace std;
main()
{
    short n;
    while(cin >> n)
    {
        int ans=0;
        int a[n],i,j,temp;
        for(i=0;i<n;i++)
            cin >> a[i];
        sort(a,0,n-1,n);
        temp=a[0];
        for(i=1;i<n;i++)
            if(a[i]>temp)
                for(j=i+1;j<n;j++)
                    if(a[j]>a[i])
                    {
                        ans+=temp*a[i]*a[j];
                        break;
                    }
        cout << ans << endl;
    }
}

不知題意是如何,還請各位指教

 
ZeroJudge Forum