Submission #617078
Source Code Expand
#include <iostream>
#include <iomanip>
#include <sstream>
#include <algorithm>
#include <functional>
#include <iterator>
#include <string>
#include <bitset>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <list>
#include <vector>
#include <cmath>
typedef unsigned long long int ulli;
typedef signed long long int slli;
const ulli MAX_ULLI = 0xFFFFFFFFFFFFFFFF;
const ulli MIN_ULLI = 0x0000000000000000;
const slli MAX_SLLI = 0x7FFFFFFFFFFFFFFF;
const slli MIN_SLLI = 0x8000000000000000;
const ulli MOD = 1e9 + 7;
#ifdef __USE_REAL__
typedef long double real;
const real MATH_PI = 3.141592653589793238462643383279502884197169399375105820974944;
const real MATH_E = 2.718281828459045235360287471352662497757247093699959574966967;
const real eps = 1e-14;
#endif /* __USE_REAL__ */
#ifdef __DEBUG__
template<typename T, typename U=T>
std::string to_string(
const std::list<T>& l,
std::function<U(T)> conv = [](const T& v){ return v; },
const std::string delim = ","
)
{
std::stringstream ss;
auto itr = l.begin();
while(itr != l.end())
{
ss << conv(*itr);
++itr;
if(itr != l.end()) ss << delim;
}
return ss.str();
}
template<typename T, typename U=T>
std::string to_string(
const std::vector<T>& v,
std::function<U(T)> conv = [](const T& v){ return v; },
const std::string delim = ","
)
{
std::stringstream ss;
for(ulli i=0; i<v.size(); ++i)
{
ss << conv(v[i]);
if((i + 1) < v.size()) ss << delim;
}
return ss.str();
}
template<typename T, typename U=T>
std::string to_string(
const std::set<T>& s,
std::function<U(T)> conv = [](const T& v){ return v; },
const std::string delim = ","
)
{
std::stringstream ss;
auto itr = s.begin();
while(itr != s.end())
{
ss << conv(*itr);
++itr;
if(itr != s.end()) ss << delim;
}
return ss.str();
}
#endif
template<typename T, class InputIterator>
inline bool have(
InputIterator first,
InputIterator last,
const T &val
)
{
return std::find(first, last, val) != last;
}
template<class InputIterator, class UnaryPred>
inline bool have_if(
InputIterator first,
InputIterator last,
UnaryPred pred
)
{
return std::find_if(first, last, pred) != last;
}
int main()
{
unsigned N;
std::cin >> N;
std::vector<unsigned> K(N), L(N, -1);
for(unsigned n=0; n<N-1; ++n)
{
std::cin >> K[n];
}
K[N-1] = K[N-2];
L[0] = K[0];
for(unsigned n=1; n<N; ++n)
{
// L[n] = f(L[n-1], K[n-1], K[n]);
//std::cerr << K[n-1] << ", " << K[n] << std::endl;
if(K[n-1] < K[n])
{
L[n] = K[n-1];
}
else
{
L[n] = K[n];
}
}
//std::cout << to_string(L) << std::endl;
std::stringstream ss;
for(ulli i=0; i<L.size(); ++i)
{
ss << L[i];
if((i + 1) < L.size()) ss << ' ';
}
std::cout << ss.str() << std::endl;
return 0;
}
Submission Info
Submission Time |
|
Task |
B - 積み鉛筆 |
User |
material |
Language |
C++11 (GCC 4.9.2) |
Score |
80 |
Code Size |
2901 Byte |
Status |
AC |
Exec Time |
117 ms |
Memory |
3500 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
80 / 80 |
Status |
|
|
Set Name |
Test Cases |
Sample |
sample1.txt, sample2.txt, sample3.txt |
All |
subtask0_0.txt, subtask0_1.txt, subtask0_10.txt, subtask0_11.txt, subtask0_12.txt, subtask0_13.txt, subtask0_14.txt, subtask0_2.txt, subtask0_3.txt, subtask0_4.txt, subtask0_5.txt, subtask0_6.txt, subtask0_7.txt, subtask0_8.txt, subtask0_9.txt |
Case Name |
Status |
Exec Time |
Memory |
sample1.txt |
AC |
27 ms |
744 KB |
sample2.txt |
AC |
28 ms |
920 KB |
sample3.txt |
AC |
25 ms |
920 KB |
subtask0_0.txt |
AC |
110 ms |
3236 KB |
subtask0_1.txt |
AC |
90 ms |
2732 KB |
subtask0_10.txt |
AC |
86 ms |
2608 KB |
subtask0_11.txt |
AC |
95 ms |
2860 KB |
subtask0_12.txt |
AC |
103 ms |
3200 KB |
subtask0_13.txt |
AC |
86 ms |
2700 KB |
subtask0_14.txt |
AC |
98 ms |
2988 KB |
subtask0_2.txt |
AC |
84 ms |
2596 KB |
subtask0_3.txt |
AC |
102 ms |
3120 KB |
subtask0_4.txt |
AC |
88 ms |
2684 KB |
subtask0_5.txt |
AC |
87 ms |
2608 KB |
subtask0_6.txt |
AC |
102 ms |
3112 KB |
subtask0_7.txt |
AC |
77 ms |
2472 KB |
subtask0_8.txt |
AC |
94 ms |
2852 KB |
subtask0_9.txt |
AC |
117 ms |
3500 KB |