#include using namespace std; int main(){ int n , dou = 1 , ans = 0; cin >> n; string s = to_string(n); for(int i = s.size() - 1;i >= 0;i--){ ans += dou * (s[i] - '0'); dou *= 2; } if(s.size() == 8){ ans -= dou / 2 * (s[0] - '0'); if(s[0] == '1'){ ans = ans - 128; } } cout
#include using namespace std; typedef unsigned long long ll; typedef pair pii; ll n , ans = 1; int main(){ cin.tie(0); cout.tie(0); cin >> n; ll low = 1 , high = n , mid; while(low mid){ low = mid + 1; } else { high = mid - 1; } } if(n < mid * mid){ mid--; } cout
#include using namespace std; typedef unsigned long long ll; typedef pair pii; // 행 : 세로 // 열 : 가로 int a, b, c, d, e = 0; vector f; bool g[1000005] = { 0, }; bool able(int wd) { int usedColorPaper = 0; int lastCover = -1; for (auto now : f) { if (usedColorPaper > c) return false; if (now c) return false; return true; } int main() { cin.tie(0); cout.tie(0); cin >> a >> b >> c >> d; for (int i = 0..
#include using namespace std; typedef long long ll; typedef pair pii; int n; stack st; ll heights[100005]; ll leftHei[100005]; ll rightHei[100005]; ll ans = 0; /** 높이에 따라 왼쪽 오른쪽 point를 구하고 계산 **/ int main(){ int n; cin >> n; ll maxSi = 0; for(int i = 0;i > heights[i]; // get Left for(int i = 0;i = heights[i]) st.pop(); leftHei[i] = (st..
#include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned long ull; typedef pair pii; int dx[] = {0, 0, 1, -1}; int dy[] = {1, -1, 0, 0}; int p; struct Road { int to; int need; }; int visited[55]; int road[55][55]; int added[30]; const int zx3f_ = 1061109567; struct QData { int where; int need; c..
#include int main(){ printf("%10s%10s%10s\n" , "item" , "count" , "price"); printf("%10s%10s%10s\n" , "pen" , "20" , "100"); printf("%10s%10s%10s\n" , "note" , "5" , "95"); printf("%10s%10s%10s\n" , "eraser" , "110" , "97"); }
#include int main(){ std::cout
#include int main(){ std::cout
#include int main(){ std::cout