zoukankan      html  css  js  c++  java
  • HackerRank# Stock Maximize

    原题地址

    不知道为什么要用动态规划做,明明是扫几遍就行了啊

    HackerRank上的题目特别喜欢long long类型啊,不用就爆。。

    代码:

     1 #include <cmath>
     2 #include <cstdio>
     3 #include <vector>
     4 #include <iostream>
     5 #include <algorithm>
     6 using namespace std;
     7 
     8 #define MAX_N 50008
     9 
    10 long long share[MAX_N];
    11 bool sell[MAX_N];
    12 
    13 int main() {
    14     /* Enter your code here. Read input from STDIN. Print output to STDOUT */   
    15     int T, N;
    16     cin >> T;
    17     while (T--) {
    18         long long max_share = 0;
    19         long long profit = 0;
    20         long long cnt = 0;
    21         cin >> N;
    22         for (int i = 0; i < N; i++)
    23             cin >> share[i];
    24         max_share = share[N - 1];
    25         for (int i = N - 1; i >= 0; i--) {
    26             sell[i] = share[i] >= max_share;
    27             max_share = max(max_share, share[i]);
    28         }
    29         for (int i = 0; i < N; i++) {
    30             if (sell[i]) {
    31                 profit += cnt * share[i];
    32                 cnt = 0;
    33             } else {
    34                 profit -= share[i];
    35                 cnt += 1;
    36             }
    37         }
    38         cout << profit << endl;
    39     }
    40     return 0;
    41 }
  • 相关阅读:
    [Violet]蒲公英
    CF535-Div3
    逛公园
    exgcd
    线段树套线段树
    Luogu P2730 魔板 Magic Squares
    fhqtreap
    AtCoder Beginner Contest 115
    关于这个博客
    智障错误盘点
  • 原文地址:https://www.cnblogs.com/boring09/p/4467834.html
Copyright © 2011-2022 走看看