一道数学题题目的大致意思如下 :你有 n种数字的卡片数字为i的卡牌有ai张你需要从中选出至少 3 张排成一个圆环首尾相连使得对于圆环上任意连续的三张牌其中至少有两张的数值相同。问最多可以选出多少张牌满足这个条件。蒟蒻当时没有ac后来仔细想想挺好做的蒟蒻只觉得当时头有点晕废话不多说开始我们很容易想到一下的搭配是合理的换句话说我们需要形如AABAAA的样式结构进一步如果第i堆的卡牌数大于1那么我们都可以选接下来我们统计牌堆数为1的个数方便后面统计,仔细思考我们可以发现两个一样的可以和另一个不用的搭配来使我们是结果最大化但是我们要注意出现如下图的情况好的我们来展示代码voidsolve(){intn;cinn;intres0;intcnt0;vectorinte;intcnt10;for(inti1;in;i){intx;cinx;if(x1){resx;cnt1;e.push_back(x);}else{cnt;}}intdis0;for(intx:e){if(cnt12){disx/2;}else{dis(x-2)/2;}}cntmin(dis,cnt);rescnt;if(res3){cout0\n;}else{coutres\n;}}