标签:style blog http io color ar os 使用 sp
Accepted
|
325MS
|
8052K
|
1450Byte
|
2014-11-13 11:20:40.0
|
描述
输入
输出
样例输入
样例输出
提示
题目来源
1 #include<cstdio> 2 #include<cstdlib> 3 #include<cmath> 4 #include<cstring> 5 #include<string> 6 #include<iostream> 7 #include<set> 8 #define maxi(a,b) (a)>(b)?(a):(b) 9 #define mini(a,b) (a)<(b)?(a):(b) 10 #define N 1000005 11 #define mod 10000 12 #define ll long long 13 14 using namespace std; 15 16 int T; 17 int tot; 18 set<int> s; 19 int a[N]; 20 int n; 21 int vis[N]; 22 23 void ini() 24 { 25 int i; 26 tot=0; 27 //s.clear(); 28 scanf("%d",&n); 29 for(i=1;i<=n;i++){ 30 scanf("%d",&a[i]); 31 } 32 memset(vis,0,sizeof(vis)); 33 } 34 35 void solve() 36 { 37 int i,j; 38 i=1;j=1; 39 for(j=1;j<=n;j++){ 40 // if(s.find(a[j])==s.end()){ 41 if(vis[ a[j] ]==0){ 42 vis[ a[j] ]++; 43 } 44 else{ 45 //j--; 46 break; 47 } 48 } 49 // tot+=j-i+1; 50 while(i<=n) 51 { 52 //s.erase(a[i]); 53 vis[ a[i] ]--; 54 tot+=j-i; 55 //printf(" i=%d j=%d tot=%d\n",i,j,tot); 56 i++; 57 for(;j<=n;j++){ 58 // if(s.find(a[j])==s.end()){ 59 if(vis[ a[j] ]==0){ 60 vis[ a[j] ]++; 61 } 62 else{ 63 //j--; 64 break; 65 } 66 } 67 } 68 } 69 70 void out() 71 { 72 printf("%d\n",tot); 73 } 74 75 int main() 76 { 77 // freopen("data.in","r",stdin); 78 scanf("%d",&T); 79 while(T--) 80 // while(scanf("%I64d",&n)!=EOF) 81 { 82 ini(); 83 solve(); 84 out(); 85 } 86 return 0; 87 }
标签:style blog http io color ar os 使用 sp
原文地址:http://www.cnblogs.com/njczy2010/p/4094467.html