Submission #244208

#TimeUsernameProblemLanguageResultExecution timeMemory
244208kimbj0709Art Exhibition (JOI18_art)C++14
100 / 100
307 ms33272 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define f first
#define s second
int32_t main() {
  ios::sync_with_stdio(0);
  cin.tie(0);cout.tie(0);
  int no_of_input;
  int input1,input2;
  vector<pair<int,int> > vect1;
  cin >> no_of_input;
  for(int i=0;i<no_of_input;i++){
    cin >> input1 >> input2;
    vect1.push_back({input1,input2});
  }
  sort(vect1.begin(),vect1.end());
  vector<pair<int,int> > vect2;
  for(int i=0;i<vect1.size();){
    int currpos = i;
    int currsum = 0;
    while(i<vect1.size()&&vect1[i].f==vect1[currpos].f){
      currsum += vect1[i].s;
      i++;
    }
    vect2.push_back({vect1[currpos].f,currsum});
  }
  int ans = 0;
  int curr = 0;
  ans = max(ans,vect2[0].s);
  for(int i=1;i<vect2.size();i++){
    curr += vect2[i-1].s-(vect2[i].f-vect2[i-1].f);
    curr = max(curr,(int)0);
    ans = max(ans,curr+vect2[i].s);
  }
  cout << ans;
}

Compilation message (stderr)

art.cpp: In function 'int32_t main()':
art.cpp:19:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=0;i<vect1.size();){
               ~^~~~~~~~~~~~~
art.cpp:22:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     while(i<vect1.size()&&vect1[i].f==vect1[currpos].f){
           ~^~~~~~~~~~~~~
art.cpp:31:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=1;i<vect2.size();i++){
               ~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...