結果
問題 |
No.2086 A+B問題
|
ユーザー |
|
提出日時 | 2023-07-23 18:41:28 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 1,064 bytes |
コンパイル時間 | 934 ms |
コンパイル使用メモリ | 101,972 KB |
最終ジャッジ日時 | 2025-02-15 18:36:03 |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 21 |
ソースコード
#include<iostream> #include<set> #include<algorithm> #include<vector> #include<string> #include<set> #include<map> #include<numeric> #include<queue> #include<cmath> using namespace std; typedef long long ll; const ll INF=1LL<<60; typedef pair<int,int> P; typedef pair<int,P> PP; const ll MOD=1e9+7; int main(){ string A,B; cin>>A; cin>>B; reverse(A.begin(),A.end()); reverse(B.begin(),B.end()); int maxlen=max(A.size(),B.size()); int offset=0; vector<int> ans; for(int i=0;i<maxlen;i++){ int c=0; //cout<<"i="<<i<<endl; if(A.size()-1>=i){ c+=A[i]-'0'; } if(B.size()-1>=i){ c+=B[i]-'0'; } c+=offset; offset=0; ans.push_back(c%10); //cout<<"c="<<c<<endl; offset=c/10; } if(offset>0){ ans.push_back(offset); } // while(ans.size()>=0 && ans.back()==0){ // ans.pop_back(); // } reverse(ans.begin(),ans.end()); for(int c:ans){ cout<<c; } cout<<endl; }