int l = 0, r = 0;
while(1){
l++;
while(card[r + 1].c == card[l].c and card[r + 1].v < card[l].v + n + now and r + 1 <= n) r++;
MAX = max(MAX, r - l + 1);
if(r == n) break;
}
int j=1;
for(int i=0;i<=n;i++){
while(j<=n&&card[j].c==card[i].c&&card[j].v-card[i].v<=n+now){
j++;
}
j--;
MAX=max(MAX,j-i+1);
}
不是很懂,为什么前一个100分后一个15分,感觉写的没啥区别啊