题目链接:http://codeforces.com/problemset/problem/780/A
题意:给你n双袜子放在背包里,现在你要把袜子一只一只的从背包拿出来,如果现在拿出来的和以前拿出来的刚好凑成一对就放进柜子里,否则就放到桌子上,保证没有任何两对袜子的编号一样,问你桌子上最多有几只袜子
解析:水题,开个记录数组和设置个变量维护桌子上的袜子。
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <iostream>
#include <vector>
#include <queue>
#include <set>
using namespace std;
const int maxn = 1e6+100;
int a[maxn];
int vis[maxn];
int main()
{
int n;
scanf("%d",&n);
int ans = 0,tmp = 0;
memset(vis,0,sizeof(vis));
for(int i=0;i<2*n;i++)
{
int x;
scanf("%d",&x);
if(vis[x])
{
tmp--;
vis[x] = 0;
}
else
{
tmp++;
ans = max(tmp,ans);
vis[x] = 1;
}
}
printf("%d\n",ans);
return 0;
}