제출 #1079977

#제출 시각아이디문제언어결과실행 시간메모리
1079977Trumling말 (IOI15_horses)C++14
17 / 100
1575 ms8384 KiB
#include "horses.h" #include<bits/stdc++.h> using namespace std; #define F first #define S second #define pb push_back #define all(x) x.begin(),x.end() #define INF 9999999999999999 typedef long long ll; ll n; vector<int>sell; vector<int>x,y; int init(int N, int X[], int Y[]) { n=N; ll curr=1; for(int i=0;i<n;i++) { x.pb(X[i]); y.pb(Y[i]); } for(int i=n-1;i>=0;i--) { if(sell.empty() || Y[sell[sell.size()-1]]*curr < Y[i]) { sell.pb(i); curr=1; } curr*=X[i]; } for(int i=0;i<sell.size()/2;i++) swap(sell[i],sell[sell.size()-1-i]); //for(int i=0;i<sell.size();i++) //cout<<sell[i]<<' '; ll idx=0; ll ans=0; curr=1; for(int i=0;i<n;i++) { curr*=X[i]; if(sell[idx]==i) { ans+=curr*Y[i]; idx++; curr=0; } } return ans; } int updateX(int pos, int val) { ll curr=1; x[pos]=val; sell.clear(); for(int i=n-1;i>=0;i--) { if(sell.empty() || y[sell[sell.size()-1]]*curr < y[i]) { sell.pb(i); curr=1; } curr*=x[i]; } for(int i=0;i<sell.size()/2;i++) swap(sell[i],sell[sell.size()-1-i]); //for(int i=0;i<sell.size();i++) //cout<<sell[i]<<' '; ll idx=0; ll ans=0; curr=1; for(int i=0;i<n;i++) { curr*=x[i]; if(sell[idx]==i) { ans+=curr*y[i]; idx++; curr=0; } } return ans; } int updateY(int pos, int val) { ll curr=1; y[pos]=val; sell.clear(); for(int i=n-1;i>=0;i--) { if(sell.empty() || y[sell[sell.size()-1]]*curr < y[i]) { sell.pb(i); curr=1; } curr*=x[i]; } for(int i=0;i<sell.size()/2;i++) swap(sell[i],sell[sell.size()-1-i]); //for(int i=0;i<sell.size();i++) //cout<<sell[i]<<' '; ll idx=0; ll ans=0; curr=1; for(int i=0;i<n;i++) { curr*=x[i]; if(sell[idx]==i) { ans+=curr*y[i]; idx++; curr=0; } } return ans; }

컴파일 시 표준 에러 (stderr) 메시지

horses.cpp: In function 'int init(int, int*, int*)':
horses.cpp:25:13: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   25 |  for(int i=n-1;i>=0;i--)
      |            ~^~
horses.cpp:35:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   35 |  for(int i=0;i<sell.size()/2;i++)
      |              ~^~~~~~~~~~~~~~
horses.cpp:54:9: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   54 |  return ans;
      |         ^~~
horses.cpp: In function 'int updateX(int, int)':
horses.cpp:64:13: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   64 |  for(int i=n-1;i>=0;i--)
      |            ~^~
horses.cpp:74:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   74 |  for(int i=0;i<sell.size()/2;i++)
      |              ~^~~~~~~~~~~~~~
horses.cpp:93:9: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   93 |  return ans;
      |         ^~~
horses.cpp: In function 'int updateY(int, int)':
horses.cpp:101:13: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
  101 |  for(int i=n-1;i>=0;i--)
      |            ~^~
horses.cpp:111:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  111 |  for(int i=0;i<sell.size()/2;i++)
      |              ~^~~~~~~~~~~~~~
horses.cpp:130:9: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
  130 |  return ans;
      |         ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...