struct animal { int hungry; int battle; }; void eatCandy(vector<animal*> panda, vector<int>& candies) { sort(candies.begin(), candies.end(), greater<int>()); vector<animal*> tmp = panda; auto cmp = [](animal* a1, animal* a2) { return a1->battle > a2->battle; }; sort(tmp.begin(), tmp.end(), cmp); vector<bool> record(candies.size(), false); for(auto animal : tmp) { int j = 0; while(animal->hungry > 0 && j < candies.size()) { if(record[j] == false && animal->hungry >= candies[j]){ animal->hungry -= candies[j]; record[j] = true; } j++; } } } int main() { int numOfPanda; int numOfCandies; while( cin >> numOfPanda >> numOfCandies) { vector<int> candies; vector<animal*> panda; while(numOfCandies--){ int tmp; cin >> tmp; candies.push_back(tmp); } while(numOfPanda--) { animal* a1 = new animal; cin >> a1->battle >> a1->hungry; panda.push_back(a1); } eatCandy(panda, candies); for(auto ani : panda) { cout << ani->hungry << endl; } } return 0; } 报的什么错误呀?
点赞 评论

相关推荐

牛客76783384...:字节:不要放箭,活捉赵子龙
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务