链接:https://ac.nowcoder.com/acm/contest/8564/A
来源:牛客网
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 524288K,其他语言1048576K
64bit IO Format: %lld
设计思路,就是贪心;
我只要把战斗机攻击和价值点排序,再来比较,攻击升序,d和value 按value 降序,然后攻击数组从尾部i=n-1开始来和数据结构数组的防御力j=0:和d进行比较,只要一旦比d大的出现,那个value可能是它的最大贡献点,j也不需要重置0,因为前面的是d都比攻击前一个的攻击力大,所以后面的攻击力a[i]继续往后比较,复杂度为O(n);
#include#include using namespace std; struct data{ int d; int value; }; bool cmp(data a, data b){ return a.value>b.value; } int main() { int n,m,i,j; scanf("%d%d",&n,&m); struct data dept[m],temp; int a[n]; for(i=0;i =0;i--) { //j=0; while(j



