zoukankan      html  css  js  c++  java
  • 【HDOJ】5203 Rikka with wood sticks

     1 /* 1002 */
     2 #include <iostream>
     3 #include <string>
     4 #include <map>
     5 #include <queue>
     6 #include <set>
     7 #include <stack>
     8 #include <vector>
     9 #include <algorithm>
    10 #include <cstdio>
    11 #include <cmath>
    12 #include <ctime>
    13 #include <cstring>
    14 #include <climits>
    15 #include <cctype>
    16 using namespace std;
    17 
    18 const int maxn = 1e3+5;
    19 
    20 int a[maxn], dis[maxn];
    21 int n, m;
    22 
    23 int main() {
    24     int i, j, k;
    25     int mx, q;
    26     int l1, l2;
    27     int x, y, z, s, tmp;
    28     __int64 ans;
    29     int L, R;
    30     
    31     #ifndef ONLINE_JUDGE
    32         freopen("data.in", "r", stdin);
    33         freopen("data.out", "w", stdout);
    34     #endif
    35     
    36     while (scanf("%d %d", &n, &m) != EOF) {
    37         R = -1;
    38         L = n+1;
    39         ans = 0;
    40         for (i=1; i<=m; ++i) {
    41             scanf("%d", &a[i]);
    42             L = min(a[i], L);
    43             R = max(a[i], R);
    44         }
    45         if (L==1 || R==n) {
    46             s = max(L-1, n-R);
    47             for (z=1; z<n; ++z) {
    48                 if (z >= s-z)
    49                     break;
    50                 tmp = s-z;
    51                 L = (tmp-z)/2+1;
    52                 R = (tmp+z-1)/2;
    53                 ans += (R-L+1);
    54             }
    55             printf("%I64d
    ", ans);
    56             continue;
    57         }
    58         l1 = L-1;
    59         l2 = n-R;
    60         z = l1;
    61         for (x=1; x<l2; ++x) {
    62             y = l2-x;
    63             if (x+y>z && y+z>x && z+x>y)
    64                 ++ans;
    65         }
    66         z = l2;
    67         for (x=1; x<l1; ++x) {
    68             y = l1-x;
    69             if (x+y>z && y+z>x && z+x>y)
    70                 ++ans;
    71         }
    72         printf("%I64d
    ", ans);
    73     }
    74     
    75     #ifndef ONLINE_JUDGE
    76         printf("%d
    ", (int)clock());
    77     #endif
    78     
    79     return 0;
    80 }
  • 相关阅读:
    Qt之json解析
    ListView
    JAVA的文件操作【转】
    可以随着SeekBar滑块滑动显示的Demo
    Android 之Buletooth
    VC++之运算符重载简单小结
    Android之Audio和Video
    Android之内容提供者ContentProvider的总结
    Android之Intent
    Android之Activity小结
  • 原文地址:https://www.cnblogs.com/bombe1013/p/4418503.html
Copyright © 2011-2022 走看看