【ATT】Candy
int candy(vector<int> &ratings) { // Note: The Solution object is instantiated only once and is reused by each test case. if(ratings.empty()) return 0; int n = ratings.size(); vector<int> candys(n,1); int next_candy = 2; for(int i=0;i<n;i++) { if(i>0&&ratings[i]>ratings[i-1]) candys[i] = max(candys[i],next_candy++); else next_candy = 2; } next_candy = 2; for(int i=n-1;i>=0;i--) { if(i<n-1&&ratings[i]>ratings[i+1]) candys[i] = max(candys[i],next_candy++); else next_candy = 2; } int sum = 0; for(int i=0;i<n;i++) sum+=candys[i]; return sum; }