#include #define MAX 100000 int p[MAX], n; int start_front, end_front, front[MAX]; int a, b, sum, start, i; void add_front(int n) { front[end_front]=n; end_front=(end_front+1)%MAX; } void del_front() { start_front=(start_front+1)%MAX; } int min(void) { int a; if (start_front==end_front){ a=p[start++]; }else if (start==n-1){ a=front[start_front]; del_front(); }else if (front[start_front]>p[start]){ a=p[start++]; }else{ a=front[start_front]; del_front(); } return a; } int main(void) { start_front=end_front=start=n=sum=0; while (scanf("%d", &p[n++])==1); for (i=0; i