NYOJ589 糖果
很有意思的一道题,刚看题的时候觉得很难,但是仔细一想会发现规律,即找到个数最多的糖果max,只要max小于等于剩下的素有糖果数量+1就Yes,都则No.
#include <stdio.h> #include <stdlib.h> int main(){ int t, n, s, *a, max; scanf("%d", &t); while(t-- && scanf("%d", &n)){ a = (int *)malloc(sizeof(int) * n); s = max = 0; for(int i = 0; i != n; ++i){ scanf("%d", &a[i]); if(a[i] > max) max = a[i]; s += a[i]; } if(s - max >= max - 1) printf("Yes\n"); else printf("No\n"); free(a); } return 0; }