HDU——4666 Hyperspace

来源:互联网 发布:linux 禁用端口 编辑:程序博客网 时间:2024/06/09 23:12

stl的应用

渣了,这个都不会弄。。。

http://blog.csdn.net/dongdongzhang_/article/details/9954329

 

#include <iostream>#include <cstdio>#include <cmath>#include <vector>#include <cstring>#include <algorithm>#include <string>#include <set>#include <functional>#include <numeric>#include <sstream>#include <stack>#include <map>#include <queue>using namespace std;int num[66000][100];int main(){ int n,m; int q; int i,j,k; while(cin>>n>>m) { multiset<int> s[100]; for( i=1;i<=n;i++) { scanf("%d",&q); if(q==0) { int a[10]; for(j=1;j<=m;j++) scanf("%d",&a[j]); for(j=0;j<(1<<m);j++){int sum=0;for(k=1;k<=m;k++){if((1<<(k-1))&j)sum+=a[k];elsesum-=a[k];}num[i][j]=sum;s[j].insert(sum);} } else { int x; scanf("%d",&x); for(j=0;j<(1<<m);j++) s[j].erase(s[j].find(num[x][j]));//注意删的是地址 } int ans=0; for( j=0;j<(1<<m);j++) { multiset<int>::iterator it1=s[j].begin(); multiset<int>::iterator it2=s[j].end(); it2--; ans=max(*it2-*it1,ans); } printf("%d\n",ans); } }    return 0;}


 

原创粉丝点击