範例程式碼 uva1746

//uva1746
#include<iostream>

using namespace std;

int main(){

    int numbers;
    int origin_quote[110];
    int quote[110];
    int left, right;
    int start;
    int temp;
    int total;

    while (cin >> numbers){
        for (int i = 0; i < 110; ++i)
            origin_quote[i] = 0;

        for (int i = 0; i < numbers; ++i)
            cin >> origin_quote[i];

        if (origin_quote[0] < origin_quote[numbers - 1])
            start = origin_quote[0];
        else
            start = origin_quote[numbers - 1];

        for (int i = start; i >= 0; --i){
            for (int j = 0; j < 110; ++j)
                quote[j] = origin_quote[j];
            left = 0;
            right = numbers-1;
            for (temp = i; ; ){
                if (quote[left] < temp || quote[right] < temp){
                    if(i == 0){
                        cout<<"no quotation"<<endl;
                        goto finish;
                    }
                    break;
                }
                quote[left] -= temp;
                quote[right] -= temp;
                if (quote[left] == 0)
                    ++left;
                if (quote[right] == 0)
                    --right;
                --temp;
                if (temp == 0){
                    if(i == 1){
                        if(numbers == 1 && origin_quote[0] == 2 || numbers == 2 && origin_quote[0] == 1 && origin_quote[1] == 1){
                            cout << i <<endl;
                            goto finish;
                        }else{
                            cout<<"no quotation"<<endl;
                            goto finish;
                        }
                    }

                    total = 0;
                    for (int k = left; k <= right;++k){
                        total+=quote[k];
                    }
                    if(total % 2 == 0){
                        cout << i <<endl;
                        goto finish;
                    }else
                        cout<<"no quotation"<<endl;
                        goto finish;
                }
            }
        }

        finish:;
    }
}